diff --git a/.github/workflows/build_test.yaml b/.github/workflows/build_test.yaml index cb1377d..a3343c3 100644 --- a/.github/workflows/build_test.yaml +++ b/.github/workflows/build_test.yaml @@ -29,9 +29,9 @@ jobs: - name: Check code style run: | - python3 -m pycodestyle ./*.py - python3 -m pycodestyle ./lglpy - python3 -m pycodestyle ./generator + python3 -m pycodestyle --config .pycodestyle.ini ./*.py + python3 -m pycodestyle --config .pycodestyle.ini ./lglpy + python3 -m pycodestyle --config .pycodestyle.ini ./generator - name: Check typing run: | diff --git a/.gitignore b/.gitignore index a0f3c78..9b3b8f4 100644 --- a/.gitignore +++ b/.gitignore @@ -11,10 +11,12 @@ build* # Data files and build outputs *.gputl *.log +*.perfetto *.so # Build and debug output files /.cache +/.mypy_cache /bin* /log* /x_* diff --git a/.mypy.ini b/.mypy.ini new file mode 100644 index 0000000..bcc0ffe --- /dev/null +++ b/.mypy.ini @@ -0,0 +1,10 @@ +[mypy] +exclude = lglpy/timeline/protos/.*\.py +ignore_missing_imports = True +disable_error_code = annotation-unchecked + +[mypy-lglpy.timeline.data.raw_trace] +disable_error_code = attr-defined + +[mypy-google.*] +ignore_missing_imports = True diff --git a/.pycodestyle.ini b/.pycodestyle.ini new file mode 100644 index 0000000..b1cd005 --- /dev/null +++ b/.pycodestyle.ini @@ -0,0 +1,4 @@ +[pycodestyle] +exclude = lglpy/timeline/protos +ignore = E402,E126,E127 +max-line-length = 80 diff --git a/.pylintrc b/.pylintrc index e549fed..186aef6 100644 --- a/.pylintrc +++ b/.pylintrc @@ -46,7 +46,7 @@ fail-under=10 #from-stdin= # Files or directories to be skipped. They should be base names, not paths. -ignore=CVS +ignore=CVS,protos # Add files or directories matching the regular expressions patterns to the # ignore-list. The regex matches against paths and can be in Posix or Windows @@ -64,7 +64,7 @@ ignore-patterns=^\.# # manipulated during runtime and thus existing member attributes cannot be # deduced by static analysis). It supports qualified module names, as well as # Unix pattern matching. -ignored-modules= +ignored-modules=cairo,protos # Python code to execute, usually for sys.path manipulation such as # pygtk.require(). @@ -73,7 +73,7 @@ ignored-modules= # Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the # number of processors available to use, and will cap the count on Windows to # avoid hangs. -jobs=1 +jobs=0 # Control the amount of potential inferred values when inferring a single # object. This can help the performance when dealing with large functions or @@ -293,7 +293,7 @@ ignored-parents= max-args=5 # Maximum number of attributes for a class (see R0902). -max-attributes=7 +max-attributes=12 # Maximum number of boolean expressions in an if statement (see R0916). max-bool-expr=5 @@ -342,7 +342,7 @@ indent-after-paren=4 indent-string=' ' # Maximum number of characters on a single line. -max-line-length=100 +max-line-length=80 # Maximum number of lines in a module. max-module-lines=1000 @@ -436,7 +436,8 @@ disable=raw-checker-failed, use-implicit-booleaness-not-comparison-to-string, use-implicit-booleaness-not-comparison-to-zero, use-symbolic-message-instead, - duplicate-code + duplicate-code, + arguments-differ # Enable the message, report, category or checker with the given id(s). You can # either give multiple identifier separated by comma (,) or put this option @@ -456,8 +457,7 @@ timeout-methods=requests.api.delete,requests.api.get,requests.api.head,requests. # List of note tags to take in consideration, separated by a comma. notes=FIXME, - XXX, - TODO + XXX # Regular expression of note tags to take in consideration. notes-rgx= @@ -521,7 +521,7 @@ ignore-imports=yes ignore-signatures=yes # Minimum lines number of a similarity. -min-similarity-lines=4 +min-similarity-lines=10 [SPELLING] diff --git a/LICENSE.txt b/LICENSE.txt index 54f8627..002c073 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 Arm Limited +Copyright (c) 2024-2025 Arm Limited Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/lgl_mali_trace_viewer.py b/lgl_mali_trace_viewer.py new file mode 100755 index 0000000..07a1477 --- /dev/null +++ b/lgl_mali_trace_viewer.py @@ -0,0 +1,79 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +TODO +''' + +import argparse +import sys + +from lglpy.timeline.gui.window import Window + + +def parse_cli(): + ''' + Parse the command line. + + Returns: + Return an argparse results object. + ''' + parser = argparse.ArgumentParser() + + parser.add_argument('-s', '--style', dest='style', + choices=('light', 'dark'), default='dark', + help='GUI skin to use') + + parser.add_argument('input', nargs='?', metavar='PERFETTO_IN', + type=argparse.FileType('rb'), default=None, + help='input Perfetto file to load') + + parser.add_argument('input2', nargs='?', metavar='GPUTL_IN', + type=argparse.FileType('rb'), default=None, + help='input GPU timeline file to load') + + args = parser.parse_args() + return args + + +def main(): + ''' + Generate a coverage report on stdout. + ''' + args = parse_cli() + + # Start the GUI - this enters the GTK message loop + trace_file_name = None + if args.input: + trace_file_name = args.input.name + args.input.close() + + metadata_file_name = None + if args.input2: + metadata_file_name = args.input2.name + args.input2.close() + + Window(args.style, trace_file_name, metadata_file_name) + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/lglpy/comms/service_gpu_timeline.py b/lglpy/comms/service_gpu_timeline.py index 700e71a..b7ca806 100644 --- a/lglpy/comms/service_gpu_timeline.py +++ b/lglpy/comms/service_gpu_timeline.py @@ -112,7 +112,7 @@ def handle_render_pass(self, msg: Any) -> None: # If this is a continuation then merge records if last_render_pass and (last_render_pass['tid'] == msg['tid']): - # Don't accumulate if tagID is flagged as ambiguous + # Don't accumulate if tag_id is flagged as ambiguous if last_render_pass['drawCallCount'] != -1: last_render_pass['drawCallCount'] += msg['drawCallCount'] diff --git a/lglpy/timeline/__init__.py b/lglpy/timeline/__init__.py new file mode 100644 index 0000000..82305e4 --- /dev/null +++ b/lglpy/timeline/__init__.py @@ -0,0 +1,30 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +TODO +''' + +import sys +import os + +sys.path.insert(0, os.path.abspath(os.path.dirname(__file__))) diff --git a/lglpy/timeline/data/__init__.py b/lglpy/timeline/data/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/data/processed_trace.py b/lglpy/timeline/data/processed_trace.py new file mode 100644 index 0000000..7aa8cc5 --- /dev/null +++ b/lglpy/timeline/data/processed_trace.py @@ -0,0 +1,454 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +This module implements the processed trace that stores the formatted workloads +that merge data from the Perfetto data and GPU Timeline layer data into a +single combined representation. +''' + +from typing import Optional, Union + +from .raw_trace import RawTrace, RenderstageEvent, MetadataWork, \ + MetadataRenderPass, MetadataDispatch, MetadataBufferTransfer, \ + MetadataImageTransfer, GPUStreamID + + +class GPUWorkload: + ''' + Base class holding command data for GPU workloads in a trace. + + Attributes: + tag_id: The unique tag ID assigned by the layer. + start_time: The event start time in nanoseconds. + duration: The event duration in nanoseconds. + stream: The scheduling stream of this workload. + stage: The render stage of this workload. + frame: The frame index in the application. + label_stack: Application debug label stack. + ''' + + def __init__( + self, event: RenderstageEvent, metadata: Optional[MetadataWork]): + ''' + Base class for workloads in a trace. + + Args: + event: Parsed render stage event. + metadata: Parsed metadata annotation. + ''' + # Common data we from the Perfetto event + self.tag_id = event.user_label + self.start_time = event.start_time + self.duration = event.duration + self.stream = event.stream + self.stage = event.stage + + # Common data we get from the layer metadata + self.frame = None + self.label_stack = None + if metadata: + self.frame = metadata.frame + self.label_stack = metadata.label_stack + + def get_long_label(self) -> str: + ''' + Get the long form label for this workload. + + Returns: + Returns the label for use in the UI. + ''' + assert False, 'Subclass must implement this' + return '' + + def get_short_label(self) -> str: + ''' + Get the short form label for this workload. + + Returns: + Returns the label for use in the UI. + ''' + assert False, 'Subclass must implement this' + return '' + + +class GPURenderPass(GPUWorkload): + ''' + Workload class representing a render pass. + + Attributes: + width: The workload width, in pixels. + height: The workload height, in pixels. + draw_call_count: The number of draw calls in the render pass. + attachments: The list of framebuffer attachments. + ''' + + def __init__(self, event: RenderstageEvent, metadata: MetadataRenderPass): + ''' + Render pass workload in a trace. + + Args: + event: Parsed render stage event. + metadata: Parsed metadata annotation. + ''' + # Populate common data + super().__init__(event, metadata) + + # We must have metadata so no need to check + self.width = metadata.width + self.height = metadata.height + self.draw_call_count = metadata.draw_call_count + self.attachments = list(metadata.attachments.attachments) + + @classmethod + def get_compact_string(cls, bindings: list[str]) -> str: + ''' + Get the compact UI string for a set of attachment bind points. + + Args: + bindings: The list of binding names for the binding type. + + Returns: + A binding string of the form, e.g. "C0124DS". + ''' + merge = ''.join(bindings) + return ''.join([j for i, j in enumerate(merge) if j not in merge[:i]]) + + def get_attachment_long_label(self) -> str: + ''' + Get the long label showing use of render pass attachments. + + Returns: + A string showing loadOp, attachment, storeOp. + ''' + bindings = [x.binding for x in self.attachments] + present = self.get_compact_string(bindings) + + bindings = [x.binding for x in self.attachments if x.is_loaded] + loaded = self.get_compact_string(bindings) + + bindings = [x.binding for x in self.attachments if x.is_stored] + stored = self.get_compact_string(bindings) + + if loaded: + loaded = f'load({loaded}) > ' + + if stored: + stored = f' > store({stored}) ' + + return f'{loaded}[{present}]{stored}' + + def get_attachment_short_label(self) -> str: + ''' + Get the short label showing use of render pass attachments. + + Returns: + A string showing attachments without load/storeOp usage. + ''' + bindings = [x.binding for x in self.attachments] + present = f'[{self.get_compact_string(bindings)}]' + return present + + def get_long_label(self) -> str: + ''' + Get the long form label for this workload. + + Returns: + Returns the label for use in the UI. + ''' + lines = [] + + if self.label_stack: + lines.append(self.label_stack[-1]) + + if self.draw_call_count < 0: + draw_str = 'Unknown draws' + elif self.draw_call_count == 1: + draw_str = '1 draw' + else: + draw_str = f'{self.draw_call_count} draws' + + line = f'{self.width}x{self.height} ({draw_str})' + lines.append(line) + + line = self.get_attachment_long_label() + lines.append(line) + + return '\n'.join(lines) + + def get_short_label(self) -> str: + ''' + Get the short form label for this workload. + + Returns: + Returns the label for use in the UI. + ''' + lines = [] + + line = f'{self.width}x{self.height}' + lines.append(line) + + line = self.get_attachment_short_label() + lines.append(line) + + return '\n'.join(lines) + + +class GPUDispatch(GPUWorkload): + ''' + Workload class representing a render pass. + ''' + + def __init__(self, event: RenderstageEvent, metadata: MetadataDispatch): + ''' + Compute dispatch workload in a trace. + + Args: + event: Parsed render stage event. + metadata: Parsed metadata annotation. + ''' + # Populate common data + super().__init__(event, metadata) + + # We must have metadata so no need to check + self.groups_x = metadata.groups_x + self.groups_y = metadata.groups_y + self.groups_z = metadata.groups_z + + def get_long_label(self) -> str: + ''' + Get the long form label for this workload. + + Returns: + Returns the label for use in the UI. + ''' + lines = [] + + if self.label_stack: + lines.append(self.label_stack[-1]) + + lines.append(self.get_short_label()) + return '\n'.join(lines) + + def get_short_label(self) -> str: + ''' + Get the short form label for this workload. + + Returns: + Returns the label for use in the UI. + ''' + lines = [] + + # If indirect then show a placeholder + if self.groups_x == -1: + line = "?x?x? groups" + + # Else show the actual dimension + else: + dims = [self.groups_x, self.groups_y] + + # Hide Z dimension unless greater than 1 + if self.groups_z > 1: + dims.append(self.groups_z) + + line = f'{"x".join([str(dim) for dim in dims])} groups' + + lines.append(line) + return '\n'.join(lines) + + +class GPUImageTransfer(GPUWorkload): + ''' + Workload class representing an image transfer. + + Image transfers are any transfer that writes to an image. Source may be + an image or a buffer. + ''' + + def __init__( + self, event: RenderstageEvent, metadata: MetadataImageTransfer): + ''' + Image transfer workload in a trace. + + Args: + event: Parsed render stage event. + metadata: Parsed metadata annotation. + ''' + # Populate common data + super().__init__(event, metadata) + + # We must have metadata so no need to check + self.transfer_type = metadata.subtype + self.pixel_count = metadata.pixel_count + + def get_long_label(self) -> str: + ''' + Get the long form label for this workload. + + Returns: + Returns the label for use in the UI. + ''' + lines = [] + + if self.label_stack: + lines.append(self.label_stack[-1]) + + # If indirect then show a placeholder + if self.pixel_count == -1: + line = f'{self.transfer_type} (? pixels)' + else: + s = 's' if self.pixel_count != 1 else '' + line = f'{self.transfer_type} ({self.pixel_count} pixel{s})' + lines.append(line) + + return '\n'.join(lines) + + def get_short_label(self) -> str: + ''' + Get the short form label for this workload. + + Returns: + Returns the label for use in the UI. + ''' + return self.transfer_type + + +class GPUBufferTransfer(GPUWorkload): + ''' + Workload class representing a buffer transfer. + + Buffer transfers are any transfer that writes to a buffer. Source may be + an image or a buffer. + ''' + + def __init__( + self, event: RenderstageEvent, metadata: MetadataBufferTransfer): + ''' + Buffer transfer workload in a trace. + + Args: + event: Parsed render stage event. + metadata: Parsed metadata annotation. + ''' + # Populate common data + super().__init__(event, metadata) + + # We must have metadata so no need to check + self.transfer_type = metadata.subtype + self.byte_count = metadata.byte_count + + def get_long_label(self) -> str: + ''' + Get the long form label for this workload. + + Returns: + Returns the label for use in the UI. + ''' + lines = [] + + if self.label_stack: + lines.append(self.label_stack[-1]) + + # If indirect then show a placeholder + if self.byte_count == -1: + line = f'{self.transfer_type} (? bytes)' + else: + s = 's' if self.byte_count != 1 else '' + line = f'{self.transfer_type} ({self.byte_count} byte{s})' + lines.append(line) + + return '\n'.join(lines) + + def get_short_label(self) -> str: + ''' + Get the short form label for this workload. + + Returns: + Returns the label for use in the UI. + ''' + return self.transfer_type + + +# Helper for typing all workload subclasses of MetadataWorkload +GPUWork = Union[ + # Generic workload if no metadata + GPUWorkload, + + # Specific workload if metadata + GPURenderPass, + GPUDispatch, + GPUImageTransfer, + GPUBufferTransfer +] + + +class GPUTrace: + ''' + Decoded GPU trace, combining data sources into a single representation. + + Attributes: + streams: Mapping of stream name to list of events in that stream. + ''' + + def __init__(self, raw_trace: RawTrace): + ''' + Create a processed trace, combining raw trace data sources. + + Args: + raw_trace: The raw parsed file data. + ''' + self.streams = {} # type: dict[GPUStreamID, list[GPUWork]] + + for event in raw_trace.events: + # Find the metadata record for this event if we have one + event_meta = None + if raw_trace.metadata and event.user_label in raw_trace.metadata: + event_meta = raw_trace.metadata[event.user_label] + + # Generic event + if not event_meta: + workload = GPUWorkload(event, None) + + # Specific event + elif isinstance(event_meta, MetadataRenderPass): + workload = GPURenderPass(event, event_meta) + + elif isinstance(event_meta, MetadataDispatch): + workload = GPUDispatch(event, event_meta) + + elif isinstance(event_meta, MetadataImageTransfer): + workload = GPUImageTransfer(event, event_meta) + + elif isinstance(event_meta, MetadataBufferTransfer): + workload = GPUBufferTransfer(event, event_meta) + + else: + assert False, 'Unknown metadata type' + + # All streams must have been decoded + assert workload.stream is not None + + # Pack the workload into scheduling streams + if workload.stream not in self.streams: + self.streams[workload.stream] = [] + + self.streams[workload.stream].append(workload) diff --git a/lglpy/timeline/data/raw_trace.py b/lglpy/timeline/data/raw_trace.py new file mode 100644 index 0000000..b2ceab9 --- /dev/null +++ b/lglpy/timeline/data/raw_trace.py @@ -0,0 +1,706 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +This module implements the raw traces that store parsed, but not process, +data loaded from Perfetto data and GPU Timeline layer data. These traces are +subsequently parsed into a single combined representation for tool use. +''' + +import enum +import struct +import json +from typing import Any, Optional, Union + +from lglpy.timeline.protos.perfetto.trace import trace_pb2 + + +# Helper for typing JSON payloads +JSONType = Any + + +class GPUStreamID(enum.Enum): + ''' + Symbolic mapping of known GPU scheduling stream IDs. + + Attributes: + COMPUTE: Compute and advanced geometry stream on all GPUs. + NONFRAGMENT: Non-fragment stream on Bifrost and Valhall GPUs. + FRAGMENT: Fragment stream on Bifrost and Valhall GPUs. + BINNING: Binning phase stream on 5th Generation GPUs. + MAIN: Main phase stream on 5th Generation GPUs. + TRANSFER: Transfer stream on all GPUs. + ''' + COMPUTE = 0 + NONFRAGMENT = 1 + FRAGMENT = 2 + BINNING = 3 + MAIN = 4 + TRANSFER = 5 + + @classmethod + def get_ui_name(cls, stream_id) -> str: + ''' + Get presentable name for a stream. + + Args: + stream_id: The enum value to convert. + + Returns: + Pretty name for use in user interfaces. + ''' + human_names = { + cls.COMPUTE: 'Compute', + cls.NONFRAGMENT: 'Non-fragment', + cls.FRAGMENT: 'Fragment', + cls.BINNING: 'Binning', + cls.MAIN: 'Main', + cls.TRANSFER: 'Transfer' + } + + return human_names[stream_id] + + +class GPUStageID(enum.Enum): + ''' + Symbolic mapping of known GPU workload stage IDs. + + Attributes: + COMPUTE: Compute shaders. + ADVANCED_GEOMETRY: Tessellation or Geometry shaders. + VERTEX: Vertex shaders from a render pass. + FRAGMENT: Fragment shaders from a render pass. + BINNING: Binning subset of vertex shaders from a render pass. + MAIN: Main phase vertex and fragment shaders from a render pass. + IMAGE_TRANSFER: Transfers writing an image output. + BUFFER_TRANSFER: Transfer writing a buffer output. + ''' + COMPUTE = 0 + ADVANCED_GEOMETRY = 1 + VERTEX = 2 + FRAGMENT = 3 + BINNING = 4 + MAIN = 5 + IMAGE_TRANSFER = 6 + BUFFER_TRANSFER = 7 + + @classmethod + def get_ui_name(cls, stage_id) -> str: + ''' + Get presentable name for a stage. + + Args: + stage_id: The enum value to convert. + + Returns: + Pretty name for use in user interfaces. + ''' + human_names = { + cls.COMPUTE: 'Compute', + cls.ADVANCED_GEOMETRY: 'Advanced geometry', + cls.VERTEX: 'Vertex', + cls.FRAGMENT: 'Fragment', + cls.BINNING: 'Binning', + cls.MAIN: 'Main', + cls.IMAGE_TRANSFER: 'Image transfer', + cls.BUFFER_TRANSFER: 'Buffer transfer' + } + + return human_names[stage_id] + + +class MetadataAttachment: + ''' + Parsed GPU Timeline layer payload for a single render pass attachment. + + Attributes: + binding: The name of the attachment point. + is_loaded: Is this attachment loaded from memory at start of pass? + is_store: Is this attachment stored to memory at end of pass? + is_resolved: Is this attachment a multi-sample resolve attachment? + ''' + + def __init__(self, metadata: JSONType): + ''' + Parsed GPU Timeline layer payload for a single render pass attachment. + + Attributes: + metadata: JSON payload from the layer. + ''' + self.binding = str(metadata['binding']) + self.is_loaded = bool(metadata.get('load', False)) + self.is_stored = bool(metadata.get('store', True)) + self.is_resolved = bool(metadata.get('resolve', True)) + + +class MetadataAttachments: + ''' + Parsed GPU Timeline layer payload for a set of render pass attachments. + + Attributes: + binding: The name of the attachment point. + is_loaded: Is this attachment loaded from memory at start of pass? + is_store: Is this attachment stored to memory at end of pass? + is_resolved: Is this attachment a multi-sample resolve attachment? + ''' + + def __init__(self, metadata: JSONType): + ''' + Parsed GPU Timeline layer attachment payload for a single render pass. + + Attributes: + metadata: JSON payload from the layer. + ''' + self.attachments = [] # type: list[MetadataAttachment] + + for attach_meta in metadata['attachments']: + attachment = MetadataAttachment(attach_meta) + self.attachments.append(attachment) + + self.attachments.sort(key=lambda x: x.binding) + + +class MetadataWorkload: + ''' + Baseclass for a parsed GPU Timeline layer payload for a workload. + + Attributes: + frame: The frame index in the application. + tag_id: The unique workload tag ID to cross-reference with Perfetto. + label_stack: Debug label stack, or None if no user labels. + ''' + + def __init__(self, frame: int, metadata: JSONType): + ''' + Parsed GPU Timeline layer payload for a single render pass. + + Attributes: + frame: The frame index in the application. + metadata: JSON payload from the layer. + ''' + self.frame = frame + self.tag_id = int(metadata['tid']) + + self.label_stack = None + label_stack = metadata.get('label', None) + if label_stack: + self.label_stack = label_stack.split('|') + + def get_perfetto_tag_id(self) -> str: + ''' + Get the tag ID formatted to match the Perfetto data. + + Returns: + The Perfetto-formatted tag ID. + ''' + return f't{self.tag_id}' + + +class MetadataRenderPass(MetadataWorkload): + ''' + Parsed GPU Timeline layer payload for a render pass workload. + + Attributes: + width: Width of the render pass in pixels. + height: Height of the render pass in pixels. + draw_call_count: Number of draw calls in the render pass. + attachments: List of render pass attachments. + ''' + + def __init__(self, frame: int, metadata: JSONType): + ''' + Parsed GPU Timeline layer payload for a single render pass. + + Attributes: + frame: The frame index in the application. + metadata: JSON payload from the layer. + ''' + super().__init__(frame, metadata) + + self.width = int(metadata['width']) + self.height = int(metadata['height']) + self.draw_call_count = int(metadata['drawCallCount']) + + self.attachments = MetadataAttachments(metadata) + + +class MetadataDispatch(MetadataWorkload): + ''' + Parsed GPU Timeline layer payload for a compute dispatch workload. + + Attributes: + groups_x: Width of the dispatch in work groups, or -1 if unknown. + groups_y: Height of the dispatch in work groups, or -1 if unknown. + groups_z: Depth of the dispatch in work groups, or -1 if unknown. + ''' + + def __init__(self, frame: int, metadata: JSONType): + ''' + Parsed GPU Timeline layer payload for a single dispatch. + + Attributes: + frame: The frame index in the application. + metadata: JSON payload from the layer. + ''' + super().__init__(frame, metadata) + + self.groups_x = int(metadata['xGroups']) + self.groups_y = int(metadata['yGroups']) + self.groups_z = int(metadata['zGroups']) + + def get_perfetto_tag_id(self) -> str: + ''' + Get the tag ID formatted to match the Perfetto data. + + Returns: + The Perfetto-formatted tag ID. + ''' + return f't{self.tag_id}' + + +class MetadataImageTransfer(MetadataWorkload): + ''' + Parsed GPU Timeline layer payload for a transfer that writes an image. + + Attributes: + subtype: Specific type of the transfer. + pixel_count: Number of pixels written, or -1 if unknown. + ''' + + def __init__(self, frame: int, metadata: JSONType): + ''' + Parsed GPU Timeline layer payload for a single image transfer. + + Attributes: + frame: The frame index in the application. + metadata: JSON payload from the layer. + ''' + super().__init__(frame, metadata) + + self.subtype = str(metadata['subtype']) + + if 'pixelCount' in metadata: + self.pixel_count = int(metadata['pixelCount']) + # Remove this when we re-record our test traces + else: + self.pixel_count = int(metadata['pixels']) + + +class MetadataBufferTransfer(MetadataWorkload): + ''' + Parsed GPU Timeline layer payload for a transfer that writes a buffer. + + Attributes: + frame: The frame index in the application. + tag_id: The unique workload tag ID to cross-reference with Perfetto. + label_stack: Debug label stack, or None if no user labels. + subtype: Specific type of the transfer. + byte_count: Number of bytes written, or -1 if unknown. + ''' + + def __init__(self, frame: int, metadata: JSONType): + ''' + Parsed GPU Timeline layer payload for a single buffer transfer. + + Attributes: + frame: The frame index in the application. + metadata: JSON payload from the layer. + ''' + super().__init__(frame, metadata) + + self.subtype = str(metadata['subtype']) + + if 'byteCount' in metadata: + self.byte_count = int(metadata['byteCount']) + # Remove this when we re-record our test traces + else: + self.byte_count = int(metadata['bytes']) + + +class RenderstageEvent: + ''' + Parsed Perfetto trace payload for a render stages event. + + The GPU Timeline layers embeds its tag_id used for cross-referencing in to + the user_label field, otherwise this is the user debug label. + + Attributes: + start_time: The event start time, in nanoseconds. + duration: The event duration, in nanoseconds. + stream_iid: The interned ID of the stream. + stream: The type of the stream after resolving interning. + stage_iid: The interned ID of the stage. + stream: The type of the stage after resolving interning. + user_label: The user debug label, if specified. + ''' + + def __init__(self, start_time: int, spec: Any): + ''' + Parsed Perfetto trace payload for a render stages event. + + Args: + start_time: The event start time, in nanoseconds. + spec: The event payload. + ''' + self.start_time = start_time + self.duration = int(spec.duration) + + # Decode the interned stream and stage types + # Interning is resolved later as packets may be out-of-order + self.stream_iid = int(spec.hw_queue_iid) + self.stream = None # type: Optional[GPUStreamID] + + self.stage_iid = int(spec.stage_iid) + self.stage = None # type: Optional[GPUStageID] + + # Decode the user label if we have one + self.user_label = None + for item in spec.extra_data: + if item.name != 'Labels': + continue + + self.user_label = str(item.value) + + +# Helper for typing all workload subclasses of MetadataWorkload +MetadataWork = Union[ + MetadataRenderPass, + MetadataDispatch, + MetadataImageTransfer, + MetadataBufferTransfer +] + + +class PerfettoConfig: + ''' + This class persists settings found in the Perfetto trace that + are needed to fully decode later event packets in the trace. + + Attributes: + STREAM_REMAP: Mapping of Perfetto stream names to enum values. + STAGE_REMAP: Mapping of Perfetto stage names to enum values. + clock_sync: Mapping of clock sync information to allow correction + for clock drift across different clock sources. + raw_iids: Mapping of numeric IDs to interned string labels. + stream_iids: Mapping of numeric IDs to interned string labels that + have been verified as belonging to GPU stream names. + stage_iids: Mapping of numeric IDs to interned string labels that + have been verified as belonging to GPU render stage names. + ''' + # Known Perfetto streams and their remapped names + STREAM_REMAP = { + "compute": GPUStreamID.COMPUTE, + "non-fragment": GPUStreamID.NONFRAGMENT, + "fragment": GPUStreamID.FRAGMENT, + "binning": GPUStreamID.BINNING, + "main": GPUStreamID.MAIN, + "transfer": GPUStreamID.TRANSFER + } + + # Known Perfetto render stages and their remapped names + STAGE_REMAP = { + "clear image": GPUStageID.IMAGE_TRANSFER, + "copy image": GPUStageID.IMAGE_TRANSFER, + "blit image": GPUStageID.IMAGE_TRANSFER, + "generate mipmap": GPUStageID.IMAGE_TRANSFER, + "copy buffer": GPUStageID.BUFFER_TRANSFER, + "fill buffer": GPUStageID.BUFFER_TRANSFER, + "compute": GPUStageID.COMPUTE, + "advanced geometry": GPUStageID.ADVANCED_GEOMETRY, + "vertex": GPUStageID.VERTEX, + "fragment": GPUStageID.FRAGMENT, + "binning": GPUStageID.BINNING, + "main": GPUStageID.MAIN, + } + + def __init__(self): + ''' + Initialize an empty configuration to be populated incrementally. + ''' + # Clock sync information + self.clock_sync = {} # type: dict[int, int] + + # Interned data reference IDs + self.raw_iids = {} # type: dict[int, str] + self.stream_iids = {} # type: dict[int, GPUStreamID] + self.stage_iids = {} # type: dict[int, GPUStageID] + + def add_interned_data(self, spec) -> None: + ''' + Add raw interned string data which we can reference later. + + Args: + spec: The Perfetto interned data specification object. + ''' + iid = spec.iid if spec.HasField('iid') else 0 + name = spec.name if spec.HasField('name') else None + assert iid and name, 'ERROR: Interned data missing expected fields' + self.raw_iids[iid] = name + + def add_clock_sync_data(self, event) -> None: + ''' + Add raw clock sync data which we can use to correct timing later. + + Args: + spec: The Perfetto clock sync snapshot object. + ''' + # Default clock domain is clock 5, BUILTIN_CLOCK_MONOTONIC_RAW + root_clock = 5 + root_time = None + + # Find the root clock + cs = event.clock_snapshot + for clock in cs.clocks: + assert clock.HasField('clock_id') + assert clock.HasField('timestamp') + assert not clock.HasField('unit_multiplier_ns') or \ + not clock.unit_multiplier_ns + + if clock.clock_id == root_clock: + root_time = clock.timestamp + + assert root_time is not None + + # Compute the correction sync deltas + for clock in cs.clocks: + correction = clock.timestamp - root_time + self.clock_sync[clock.clock_id] = correction + + def get_event_time(self, event) -> int: + ''' + Get the event time in a unified clock domain. + + Args: + event: The Perfetto event to extract the timestamp from. + + Returns: + Event start time in a unified clock domain. + ''' + # Determine the clock this event it using + clock_id = 6 # Default is BUILTIN_CLOCK_BOOTTIME + if event.HasField('timestamp_clock_id'): + clock_id = event.timestamp_clock_id + + # Correct for clock offset and skew across the clock sources + return event.timestamp - self.clock_sync[clock_id] + + def replace_interned_stream(self, event: RenderstageEvent) -> None: + ''' + Replaced interned data stream references with the real data. + + Args: + event: The Perfetto event to rewrite + ''' + # Rewrite the hardware stream + stream = event.stream_iid + + # Interned ID has been found and remapped already + if stream in self.stream_iids: + event.stream = self.stream_iids[stream] + + # Interned ID exists but has not yet been remapped + elif stream in self.raw_iids: + raw_name = self.raw_iids[stream] + + assert raw_name in self.STREAM_REMAP, \ + f'ERROR: Unknown stream remap: {raw_name}' + + self.stream_iids[stream] = self.STREAM_REMAP[raw_name] + event.stream = self.stream_iids[stream] + + # Interned ID does not exist + else: + assert False, 'ERROR: Unknown stream interned data ID' + + def replace_interned_stage(self, event: RenderstageEvent) -> None: + ''' + Replaced interned data render stage references with the real data. + + Args: + event: The Perfetto event to rewrite + ''' + # Rewrite the hardware stage + stage = event.stage_iid + + # Interned ID has been found and remapped already + if stage in self.stage_iids: + event.stage = self.stage_iids[stage] + + # Interned ID exists by has not yet been remapped + elif stage in self.raw_iids: + raw_name = self.raw_iids[stage] + + assert raw_name in self.STAGE_REMAP, \ + f'ERROR: Unknown stage remap: {raw_name}' + + self.stage_iids[stage] = self.STAGE_REMAP[raw_name] + event.stage = self.stage_iids[stage] + + # Interned ID does not exist + else: + assert False, "Stage IID not found" + + +class RawTrace: + ''' + A raw trace pair loaded from the file system. + + Attributes: + events: The perfetto event data. + metadata: The layer metadata for the events. + ''' + + @classmethod + def load_metadata_from_file( + cls, metadata_file: str) -> dict[str, MetadataWork]: + ''' + Load the raw metadata from file. + + Args: + metadata_file: The file path of the metadata payload. + ''' + metadata = {} # type: dict[str, MetadataWork] + with open(metadata_file, 'rb') as handle: + + while True: + # End decoding if we get a partial frame header + bin_data = handle.read(4) + if len(bin_data) != 4: + break + + frame_size = int(struct.unpack(' list[RenderstageEvent]: + ''' + Load the raw Perfetto trace from file. + + Args: + perfetto_file: The file path of the Perfetto trace payload. + ''' + config = PerfettoConfig() + trace_events = [] + + # Open the Perfetto protobuf trace file + protoc = trace_pb2.Trace() # pylint: disable=no-member + with open(perfetto_file, 'rb') as handle: + protoc.ParseFromString(handle.read()) + + # Extract render stages events from Perfetto data + for packet in protoc.packet: + + # Clock sync packet so update clock drift information + if packet.HasField('clock_snapshot'): + config.add_clock_sync_data(packet) + + # Interned data packet so update GPU configuration + if packet.HasField('interned_data'): + data = packet.interned_data + + # Decode render stages queue specification + for spec in data.gpu_specifications: + config.add_interned_data(spec) + + # Render stage event packet so build a new event + if packet.HasField('gpu_render_stage_event'): + start_time = config.get_event_time(packet) + raw_event = packet.gpu_render_stage_event + event = RenderstageEvent(start_time, raw_event) + trace_events.append(event) + + # Sort events into time order + trace_events.sort(key=lambda x: x.start_time) + + # Replace time so first event starts at time = 0 + streams = {} + start_time = trace_events[0].start_time + for event in trace_events: + event.start_time -= start_time + + # Also ensure that "queued time" does not show as running + if event.stream not in streams: + streams[event.stream] = [event] + continue + + last_event = streams[event.stream][-1] + last_event_end = last_event.start_time + last_event.duration + + # Remove overlap if queued while last event still running + if event.start_time <= last_event_end: + time_diff = last_event_end - event.start_time + 1 + event.start_time += time_diff + event.duration -= time_diff + + # Replace all interned data cross-references + for event in trace_events: + config.replace_interned_stream(event) + config.replace_interned_stage(event) + + return trace_events + + def __init__(self, trace_file: str, metadata_file: str): + ''' + Load a trace from file. + + Args: + trace_file: The file path of the Perfetto trace payload. + metadata_file: The file path of the Timeline layer trace payload. + ''' + self.events = self.load_perfetto_from_file(trace_file) + + self.metadata = None + if metadata_file: + self.metadata = self.load_metadata_from_file(metadata_file) diff --git a/lglpy/timeline/drawable/__init__.py b/lglpy/timeline/drawable/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/drawable/canvas_drawable.py b/lglpy/timeline/drawable/canvas_drawable.py new file mode 100644 index 0000000..231ece7 --- /dev/null +++ b/lglpy/timeline/drawable/canvas_drawable.py @@ -0,0 +1,185 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +This module contains a number of basic rendering primitives which are defined +in terms of canvas-space coordinates. The classes are: + + - CanvasDrawable: Abstract base class + - CanvasDrawableRect: Rectangle with fill, stroke, and label + - CanvasDrawableRectFill: Rectangle with fill, and label +''' + +from lglpy.timeline.drawable.drawable import DrawableLabel + + +class CanvasDrawable(DrawableLabel): + ''' + An abstract base class for an object which can be rendered to a canvas. + + Attributes: + x: object X coordinate. + y: object Y coordinate. + w: object width, in pixels. + h: object height, in pixels. + ''' + + __slots__ = ('x', 'y', 'w', 'h') + + def __init__(self, pos, dim, style, label=None): + ''' + Create a new CanvasDrawable. + + Args: + pos: tuple containing X and Y canvas-space coordinate. + dim: tuple containing X and Y canvas-space dimensions. + style: visual style. + label: text label, or None. + ''' + super().__init__(style, label) + + self.x, self.y = pos + self.w, self.h = dim + + +class CanvasDrawableRect(CanvasDrawable): + ''' + A canvas-space rectangle with fill, and stroke. Any of these may be + skipped by setting its color to None in the style. + ''' + + __slots__ = () + + def draw(self, gc): + ''' + Render this object. + + Args: + gc: Cairo graphics context. + ''' + x, y = self.x, self.y + w, h = self.w, self.h + + # Draw fill + if self.style.bind_fill(gc): + gc.rectangle(x, y, w, h) + gc.fill() + + # Draw outline + if self.style.bind_line(gc): + gc.rectangle(x, y, w, h) + gc.stroke() + + +class CanvasDrawableRectFill(CanvasDrawable): + ''' + A canvas-space rectangle with fill. Any of these may be skipped by setting + its color to None in the style. + + This is useful for uses rendering a composite shape that contains a mixture + of fill-only rectangles as well as lines or full rectangles with a stroke. + Fill-only rectangles allow a single CSS style to be used for the entire + composite, without needing a None stroke style. + ''' + + __slots__ = () + + def draw(self, gc): + ''' + Render this object. + + Args: + gc: Cairo graphics context. + ''' + x, y = self.x, self.y + w, h = self.w, self.h + + # Draw fill + if self.style.bind_fill(gc): + gc.rectangle(x, y, w, h) + gc.fill() + + +class CanvasDrawableLine(CanvasDrawable): + ''' + A canvas-space line-strip with a stroke. + ''' + + __slots__ = ('points',) + + def __init__(self, points, style): + ''' + Create a new CanvasDrawableLine. + + Args: + points: list of point tuples. + style: visual style. + ''' + # Compute bounding box so we can perform intersection tests + x_points = [i[0] for i in points] + y_points = [i[1] for i in points] + pos = (min(x_points), min(y_points)) + dim = (max(x_points) - pos[0], max(y_points) - pos[1]) + + super().__init__(pos, dim, style, None) + self.points = points + + def draw(self, gc): + ''' + Render this object. + + Args: + gc: Cairo graphics context. + ''' + # Only draw if we have a style and 2 or more points + if self.style.bind_line(gc) and len(self.points) > 1: + last_pos = (None, None) + for pos in self.points: + if last_pos[0] is not None: + gc.move_to(*last_pos) + gc.line_to(*pos) + last_pos = pos + gc.stroke() + + +class CanvasDrawableLabel(DrawableLabel): + ''' + A canvas-space label, drawn left-aligned. + ''' + + __slots__ = () + + def draw(self, gc, x, y): + ''' + Render this object. + + TODO: Why is this using draw-time positions, unlike the others? + + Args: + gc: Cairo graphics context. + x: object X coordinate. + y: object Y coordinate. + ''' + # Draw label + if self.label and self.style.bind_font(gc): + gc.move_to(x, y) + gc.show_text(self.label) diff --git a/lglpy/timeline/drawable/css.py b/lglpy/timeline/drawable/css.py new file mode 100644 index 0000000..2fc5269 --- /dev/null +++ b/lglpy/timeline/drawable/css.py @@ -0,0 +1,475 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +This module contains a parser of a basic CSS-like style sheet that we use for +styling the user interface. + +Unlike HTML, we have no standard implicit hierarchy we can use to implement +style inheritance, so our CSS self-defines the parent-child hierarchical +relationships in the CSS itself. For example, in the node below we define +mtv-core as the parent style of the tlv-core style: + + [mtv-core] tlv-core {} + +The style fields and defaults currently supported are: + + - fill-color: #01234567; (Default none) + - line-color: #01234567; (Default none) + - line-width: 1.5; (Default 1.0) + - line-dash: 2,4; (Default none) + - font-color: #01234567; (Default none) + - font-face: name; (Default Consolas,sans) + - font-size: 11; (Default 10) + +Colors can be RGB or RGBA, but note that transparent colors are much more +expensive to render in Cairo. In addition, some parts of the tool may assume +objects use opaque colors to allow algorithmic culling. + +NOTE: The defaults of all colors are 'none' so nothing will be visible on +screen unless a stylesheet explicitly sets a color. + +TODO: Font-face does not actually perform a list search like real CSS, so it's +difficult to specify a fallback when a font isn't available for OS portability. +''' + +import re +import os +import cairo + + +class CSSStylesheet(dict): + ''' + A stylesheet that can be loaded from a CSS-like definition file. + + The basic file format consists of single line comments, and which use C + style comments of the form:: + + /* */ + + ... and rules which are of the form:: + + [parent_node] node0, node1 { + key: value; + key: value; + } + + The document object model (DOM) hierarchy for the cascading nature of the + styles is encoded in the CSS file itself; the '[parent_node]' in square + brackets describing the ancestor of each newly declared node. + + It is possible to declare empty nodes which define no styles, purely for + the sake of structuring the DOM. These take the form: + + [parent_node] node0, node1 {} + + The current implementation does not implement a proper tokenizing parser, + so is very sensitive to line layout. In particular the opening '{' must be + on the same line as the node declarations, and the closing '}' must be on a + new line (except for the empty DOM node). + + Supported keys are: + + - font-color: Format is # followed by 6 or 8 hex digits (lower case) + - font-face: Format is a string + - font-size: Format is a number + - line-color: Format is # followed by 6 or 8 hex digits (lower case) + - line-dash: Format is two integers comma separated (no space) + - line-width: Format is a floating point number + - fill-color: Format is # followed by 6 or 8 hex digits (lower case) + + CSS values are extracted using the indexed interface once a file is loaded: + + css[]['] = CSSNode('') + + line_no = 0 + lines = css_string.splitlines() + + # Parse line-wise + try: + current_nodes = [] + + for line_no, line in enumerate(lines): + # String out any comments and whitespace + line = self.reComment.sub('', line).strip() + + # Skip blank lines + if not line: + continue + + # Handle node declarations + match = self.reNodeDecl.match(line) + if match: + parent = match.group(1) if match.group(1) else '' + nodes = [x.strip() for x in match.group(2).split(',')] + nodes = [self.get_node(x, parent) for x in nodes] + ending = match.group(3) + if not ending: + current_nodes = nodes + continue + + # ... and terminations + match = self.reNodeEndDecl.match(line) + if match: + current_nodes = None + continue + + # Handle node field declarations for colors + match = self.reColorDecl.match(line) + if match: + key = match.group(1) + value = CSSColor(match.group(2)) + for node in current_nodes: + node[key] = value + continue + + # Handle node field declarations for floats + match = self.reFloatDecl.match(line) + if match: + key = match.group(1) + value = float(match.group(2)) + for node in current_nodes: + node[key] = value + continue + + # Handle node field declarations for line dashes + match = self.reDashDecl.match(line) + if match: + key = match.group(1) + value = CSSDash(match.group(2)) + for node in current_nodes: + node[key] = value + continue + + # If we get here this line is an unknown so raise an error + raise ValueError() + + # Generate a decent error message with file and line numbers + except ValueError as exc: + msg = '' if not file_name else f' in {file_name}' + msg = f'CSS base syntax error: "{line}" @ line {line_no + 1}{msg}' + raise ValueError(msg) from exc + + except KeyError as exc: + msg = '' if not file_name else f' in {file_name}' + msg = f'CSS parent syntax error: "{line}" @ line {line_no + 1}{msg}' + raise ValueError(msg) from exc + + def get_node(self, name, parent='', create=True): + ''' + Fetch a CSS node, optionally creating it if it does not exist. + + If a node already exists the parent node name must match. + + Args: + name: The node name. + parent: The parent node name, or '' to attach to root node. + Set to None if we want to make a read-only fetch. + create: True to create new nodes instead of raising an error. + + Raises: + KeyError: Parent node does not exist. + ValueError: Parent node mismatches. + ''' + if parent: + parent = self[parent] + + if (name not in self) and (parent is not None) and create: + self[name] = CSSNode(name, parent) + + node = self[name] + if parent and (parent != node.parent): + raise ValueError() + + return node + + +class CSSColor(tuple): + ''' + An RGBA color encoded as hex with a leading # character. The color may be + RGB with 6 digits, RGBA with 8 digits, or 'none' if no color required. + Generated colors are always 4 color components including an alpha channel. + + Color channels are always encoded using 2 lower-case hex digits each. W3C + CSS shorthands that get expanded to a full color are not supported. + + NOTE: This class is really just a factory function for generating native + tuples. Created instances will not be instances of CSSColor. + ''' + + def __new__(cls, color='none'): + ''' + Create a new CSSColor tuple. + + Args: + color: The color string, or `none` if no color required. + ''' + if color == 'none': + return None + + assert len(color) in [7, 9], f'Badly formed color string: "{color}"' + assert color[0] == '#', f'Badly formed color string: "{color}"' + + r = float(int(color[1:3], 16)) / 255.0 + g = float(int(color[3:5], 16)) / 255.0 + b = float(int(color[5:7], 16)) / 255.0 + + # Decode the alpha channel or force to opaque + if len(color) == 9: + a = float(int(color[7:9], 16)) / 255.0 + else: + a = 1.0 + + return (r, g, b, a) + + +class CSSFont(tuple): + ''' + A Cairo font definition, storing a complete font specification in a single + tuple (font face, slant, and weight). + + NOTE: This class is really just a factory function for generating native + tuples. Created instances will not be instances of CSSFont. + ''' + + def __new__(cls, face='sans'): + ''' + Create a new CSSFont tuple. + + Args: + face: The font name. + ''' + return (face, cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_NORMAL) + + +class CSSDash(list): + ''' + An Cairo dash definition, stored as a list of mark-space values or `none` + if a solid line is desired. + + TODO: Do these have to be lists, or can we use tuples? + + NOTE: This class is really just a factory function for generating native + lists. Created instances will not be instances of CSSFont. + ''' + + def __new__(cls, dash): + ''' + Create a new CSSFont tuple. + + Args: + dash: The dash specification. + ''' + if dash == 'none': + return [] + + return [float(x) for x in dash.split(',')] + + +class CSSNode(dict): + ''' + A single style node in the stylesheet graph hierarchy. + + Style properties in the node are accessed as dictionary lookups, e.g.: + + node['fill-color'] + + Attributes: + DEFAULT_FONT: The default font face name. + DEFAULT_STYLES: The default values of all CSS styles. + parent: The parent style name of this style in the DOM. + name: The style name of this style in the DOM. + ''' + + if os.name == 'nt': + DEFAULT_FONT = 'Consolas' + else: + DEFAULT_FONT = 'sans' + + DEFAULT_STYLES = { + 'fill-color': CSSColor('none'), + 'line-color': CSSColor('none'), + 'line-width': 1.0, + 'line-dash': CSSDash('none'), + 'font-color': CSSColor('none'), + 'font-face': CSSFont(DEFAULT_FONT), + 'font-size': 10 + } + + def __init__(self, name, parent=None): + ''' + Create a new stylesheet style node. + + Parameters: + name: The name of the style in the DOM. + parent: The name of the parent style in the DOM. + None if this is the '' pseudo-style. + ''' + super().__init__() + self.parent = parent + self.name = name + + assert (None is not parent) or (name == '') + + def __getitem__(self, index): + ''' + Get the value of a CSS property. + + TODO: Flatten at load-time for performance? + + Parameters: + index: The name of the style property to fetch. + ''' + try: + return super().__getitem__(index) + + except KeyError: + if None is not self.parent: + return self.parent[index] + + return self.DEFAULT_STYLES[index] diff --git a/lglpy/timeline/drawable/drawable.py b/lglpy/timeline/drawable/drawable.py new file mode 100644 index 0000000..a91b116 --- /dev/null +++ b/lglpy/timeline/drawable/drawable.py @@ -0,0 +1,234 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +This module contains a number of basic abstract rendering constants and +primitives. +''' + +import sys +import math + +import cairo + + +WHITE = (1.00, 1.00, 1.00, 1.00) +'''Constant code for opaque white''' + +BLACK = (0.00, 0.00, 0.00, 1.00) +'''Constant code for opaque black''' + +RED = (1.00, 0.00, 0.00, 1.00) +'''Constant code for opaque red''' + +GREEN = (0.00, 1.00, 0.00, 1.00) +'''Constant code for opaque green''' + +BLUE = (0.00, 0.00, 1.00, 1.00) +'''Constant code for opaque blue''' + +if sys.platform == 'win32': + FONT = ('Consolas', cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_NORMAL) + ''' Constant code for Windows font style''' +else: + FONT = ('sans', cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_NORMAL) + ''' Constant code for Linux font style''' + + +class Drawable: + ''' + An abstract base class for a drawable object. + + Attributes: + style: Rendering style for this object. + ''' + + __slots__ = ('style',) + + def __init__(self, style): + ''' + Create a new drawable. + + Args: + style: Rendering style for this object. + ''' + self.style = style + + def set_style(self, style) -> None: + ''' + Change the style of this object. + + Args: + style: Rendering style for this object. + ''' + self.style = style + + def draw(self, gc): + ''' + Render this object to a Cairo graphics context. + + Subclasses must provide an implementation of this function. + + Args: + gc: Cairo graphics context + ''' + del gc + assert False, f'Draw function for {self.__class__.__name__} missing' + + @staticmethod + def rt00(x: float) -> float: + ''' + Round x down to an integer boundary. + + Args: + x: The number to round. + + Returns: + The rounded value. + ''' + return float(int(x)) + + @staticmethod + def rt05(x: float) -> float: + ''' + Round x to the nearest n.5 boundary. + + This is useful when placing pixel-width lines in Cairo, as you want to + render down the middle of a pixel to ensure sharp lines that do not + cross pixel boundaries. + + Args: + x: The number to round. + + Returns: + The rounded value. + ''' + return float(int(x)) + 0.5 + + +class DrawableLabel(Drawable): + ''' + An abstract base class for a drawable with text label. + + To allow rendering to test labels for on-screen fit, each instance can + store the canvas-space extents of the label when using the given style. + Calculating extents needs a Cairo graphics context, so they are computed + and cached when first drawn. + + TODO: Change to make this a single string and make parent store two labels? + + Attributes: + label: List of lines making up the label. + line_extents: List of width extents for each line. + total_extents: Total extents for all lines. + ''' + + __slots__ = ('label', 'line_extents', 'line_height', 'total_extents') + + def __init__(self, style, label): + ''' + Created a new drawable label. + + Args: + style: Rendering style for this object. + label: Full label text string, may be None + ''' + super().__init__(style) + + self.label = [] + + if label: + self.label = label.split('\n') + + self.line_extents = None + self.line_height = None + self.total_extents = None + + def set_style(self, style): + ''' + Change the style of this object. + + Args: + style: Style` + The rendering style to use for this object. + ''' + # Invalidate the label extent cache if the font changed + if self.style.font != style.font: + self.line_extents = None + self.total_extents = None + + super().set_style(style) + + def compute_label_extents(self, gc) -> None: + ''' + Compute the canvas-space extents of the text label. + + Args: + gc: Cairo graphics context. + ''' + if self.total_extents is None: + self.style.bind_font(gc) + + # Compute label height based on the font metrics line height to + # ensure a stable baseline, independent of the label content + asc, des = gc.font_extents()[0:2] + self.line_height = math.ceil(asc - (des / 2) + 2) + h = self.line_height * len(self.label) + + # Compute label width based on the content of the label + self.line_extents = [gc.text_extents(x)[2] for x in self.label] + self.total_extents = (max(self.line_extents), h) + + def fits_centered(self, gc, width, padding) -> bool: + ''' + Test of the label that fits in the given on-screen width. + + Args: + gc: Cairo graphics context + width: Available width in pixels. + padding: Desired padding in pixels. + + Returns: + True if the label fits, False otherwise. + ''' + target_width = width - 2 * padding + self.compute_label_extents(gc) + return self.total_extents[0] <= target_width + + def draw_centered(self, gc, pos, dim) -> None: + ''' + Draw the label on the screen. + + Args: + gc: Cairo graphics context + pos: Origin on canvas pixels. + dim: Space in canvas pixels. + ''' + lh = self.line_height + pad_y = (dim[1] - self.total_extents[1]) * 0.5 - 1 + + for index, (text, lw) in enumerate(zip(self.label, self.line_extents)): + label_x = pos[0] + dim[0] * 0.5 - lw * 0.5 + label_y = pos[1] + ((index + 1) * lh) + pad_y + + gc.move_to(label_x, label_y) + gc.show_text(text) diff --git a/lglpy/timeline/drawable/drawable_channel.py b/lglpy/timeline/drawable/drawable_channel.py new file mode 100644 index 0000000..677b5e8 --- /dev/null +++ b/lglpy/timeline/drawable/drawable_channel.py @@ -0,0 +1,395 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +A DrawableChannel is a container for a sequence of time-ordered WorldDrawable +objects that can be rendered as a swimlane of some form as part of a +DrawableTrace. +''' + +import bisect + +from lglpy.timeline.drawable.primitive_rectangle import PrimitiveRectangle +from lglpy.timeline.drawable.world_drawable import WorldDrawableLine + + +class DrawableChannel: + ''' + A container for world-space objects in a single swimlane. + + The container is optimized to ensure fast rendering, aiming to quickly cull + unused or occluded objects, in particular for channels containing a + sequence of opaque objects. There are two forms of culling scheme + implemented. + + The first culling scheme is a simple bounding box cull which reduces the + per-object iteration to those that are within the active viewport region. + + The second culling scheme is a pixel coverage cull scheme which can be used + by channels that are rendering opaque boxes. For these channels we know + that we only need a single object to cover each pixel in the swimlane. + After rendering an object we can compute the lowest world-space coordinate + that can intersect the next pixel that we want to draw, and then bisect a + sorted list of objects in the swimlane to find the first object equal to or + higher than that coordinate. This scheme results in a rendering complexity + of: + + O((pixels/2) * log2(objects/2)) + + ... which gives good performance, even when software rendering channels + containing a million objects using Python! + + To support this culling mechanism, objects in a channel must be stored in + a sorted fashion during rendering. To ensure fast builds, objects are + initially appended to the channel without any sorting. The channel must + then be compiled before rendering, to ensure correct ordering. + + Attributes: + name: name of this channel. + trace: parent trace this channel belongs to. + ws_bounds: world-space bounds of this channel. + layer: rendering drawing z-order. Layers rendered from low-to-high. + visible: is this channel visible? + label_visible: is this channel's label visible? + interactable: are objects in this this channel interactable? + coverage_cullable: are objects in this channel coverage cullable? + objects: sorted array of objects, stored by start time + objects_x_min: sorted array of object start times + objects_x_max: sorted array of object end times, sorted by start time + compiled: flag indicating that the channel has been compiled + ''' + + def __init__(self, name, trace, layer, coverage_cullable=False, + interactable=False): + ''' + Create a new channel instance. + + Args: + name: name of this channel. + trace: parent trace this channel belongs to. + layer: rendering drawing z-order. Layers rendered from low-to-high. + visible: is this channel visible? + coverage_cullable: are objects in this channel coverage cullable? + interactable: are objects in this this channel interactable? + ''' + self.name = name + self.trace = trace + self.layer = layer + self.ws_bounds = None + + self.coverage_cullable = coverage_cullable + self.interactable = interactable + self.visible = True + self.label_visible = True + + if None is not trace: + trace.add_channel(self) + + self.objects = [] + self.objects_x_min = [] + self.objects_x_max = [] + + # Objects are added unsorted and must be "compiled" before rendering + self.compiled = False + + def add_object(self, drawable): + ''' + Add a new world-drawable object to this channel. + + To allow fast construction of a trace from a large data set, objects + are simply appended to the object list without attempting to sort into + time-order. Channels must compiled after objects have been added before + they can be used for rendering operations. + + Args: + drawable: the world-drawable object to add to the channel. + ''' + self.objects.append(drawable) + self.compiled = False + + def compile(self): + ''' + Compile into sorted drawables ready for optimized rendering. + ''' + # Don't compile if we are already compiled ... + if self.compiled: + return + + self.compiled = True + + # If we have no objects, then don't do anything at all ... + if not self.objects: + return + + # Sort, and build the flat bisect index arrays + self.objects.sort(key=lambda x: x.ws.min_x) + self.objects_x_min = [x.ws.min_x for x in self.objects] + self.objects_x_max = [x.ws.max_x for x in self.objects] + + # Update the channel world-space bounds + min_x = self.objects_x_min[0] + x_dim = self.objects_x_max[-1] - min_x + min_y = self.objects[0].ws.min_y + y_dim = self.objects[0].ws.max_y - min_y + + self.ws_bounds = PrimitiveRectangle((min_x, min_y), (x_dim, y_dim)) + + # Update the parent trace world-space bounds + if self.trace: + self.trace.extend_bounds(self.ws_bounds) + + def __iter__(self): + ''' + Generator which yields all objects in list order. After compilation + list order is object start time order. + + Yields: + Objects in list order. + ''' + yield from self.objects + + def each_object(self, obj_filter=None, ws_range=None): + ''' + Generator which yields filtered objects from the channel in list order. + After compilation list order is object start time order. + + The object filter function takes each object in the channel, and must + return True if the object should be yielded by the generator, or False + if it should be skipped. + + Args: + obj_filter: object filter function, or None if no filtering. + ws_range: world-space extents withing which objects should be + returned, or None if no filtering. Note that this is just an + optimization hint, and objects outside of this range may be + returned. + + Yields: + Objects in list order, subject to filtering. + ''' + assert self.compiled + + if ws_range: + start_index = bisect.bisect(self.objects_x_min, ws_range[0]) + end_index = bisect.bisect(self.objects_x_min, ws_range[1]) + 1 + else: + start_index = 0 + end_index = len(self.objects) + + for i in range(start_index, end_index): + user_object = self.objects[i] + if (obj_filter is None) or obj_filter(user_object): + yield user_object + + def get_clicked_object(self, ws_x, ws_y): + ''' + Get the object at the specified world-space coordinate. + + Objects can only be selected if their parent channel is both visible + and interactable. + + Args: + ws_x: the world-space X coordinate. + ws_y: the world-space Y coordinate. + + Returns: + The drawable object if clicked, or None if no intersection. + ''' + assert self.compiled + + # If the channel doesn't support interacting then fail early ... + if not self.interactable or not self.visible: + return None + + # If the click is outside of the channel bounds, then fail early ... + if (not self.ws_bounds) or (not self.ws_bounds.is_hit_by(ws_x, ws_y)): + return None + + # Find the object using bisect - we only have to check x, as the + # channel would have failed if outside of y ... + index = bisect.bisect(self.objects_x_max, ws_x) + + # Insert after last object means the click missed + if index < len(self.objects): + user_object = self.objects[index] + if user_object.ws.is_hit_by(ws_x, ws_y): + return user_object + + return None + + def get_boxed_objects(self, ws_x_min, ws_y_min, ws_x_max, ws_y_max): + ''' + Get objects which are completely encapsulated by the bounding box. + + Args: + ws_x_min: world-space X coordinate at the start of the box. + ws_y_min: world-space Y coordinate at the start of the box. + ws_x_max: world-space X coordinate at the end of the box. + ws_y_max: world-space Y coordinate at the end of the box. + + # TODO: Make box a PrimRect + + Returns: + List of intersecting objects, or empty list if no intersections. + ''' + assert self.compiled + + # If the channel doesn't support interacting then fail early ... + if not self.interactable or not self.visible: + return [] + + # If the drag is outside of the channel bounds, then fail early ... + pos = (ws_x_min, ws_y_min) + dim = (ws_x_max - ws_x_min, ws_y_max - ws_y_min) + bbox = PrimitiveRectangle(pos, dim) + if not self.ws_bounds or not self.ws_bounds.intersects(bbox): + return [] + + # Drop the entire channel if the drag does not enclose the full height + # of the channel (drag has to totally enclose an object to succeed) + if (self.ws_bounds.min_y < ws_y_min) or \ + (self.ws_bounds.max_y > ws_y_max): + return [] + + # Do a fast selection using bisect to pick the ranges ... + # Note: This works for our use because solid interactable objects + # don't overlap. Works well enough for current usage, but beware! + start_index = bisect.bisect(self.objects_x_min, ws_x_min) + end_index = bisect.bisect(self.objects_x_max, ws_x_max) + if start_index >= end_index: + return [] + + return self.objects[start_index:end_index] + + def draw(self, gc, vp, ws_range=None): + ''' + Draw this channel onto a Cairo canvas, using the given viewport. + + Args: + gc: Cairo graphics context. + vp: visible viewport + ws_range: world-space extents withing which objects should be + returned, or None if no filtering. Note that this is just an + optimization hint, and objects outside of this range may be + drawn. + ''' + del ws_range # unused + + # Lowest object we need is the last one to cover first WS value + start_index = bisect.bisect_left(self.objects_x_max, vp.ws.min_x) + + # Highest object we need is the first one to cover the last WS value + end_index = bisect.bisect_right(self.objects_x_min, vp.ws.max_x) + end_index = min(end_index, len(self.objects) - 1) + + # Start with the minimum object + index = start_index + + # If we can't do culling then just iterate all objects in range + if not self.coverage_cullable: + while index <= end_index: + user_object = self.objects[index] + user_object.draw(gc, vp) + index += 1 + + # If we can do culling then insert bisect jumps as needed + else: + bisect_left = bisect.bisect_left + while index <= end_index: + user_object = self.objects[index] + user_object.draw(gc, vp) + + # Lowest object we need is the first object to cover next WS + next_ws = vp.coverage_cull_next_ws_x + index = bisect_left(self.objects_x_max, next_ws, index + 1) + + +class DrawableChannelFrameMarkers(DrawableChannel): + ''' + A container for world-space frame boundary markers. + + This container is a specialized channel designed for rendering frame + boundary lines and labels on the trace. Unlike normal line markers + such as dependencies, frame markers are useful to see when zoomed out of + the timeline, but quickly overwhelm it if you are zoomed out a long way + (especially with the label rendering, as the labels all overlap). + + To avoid this we implement dynamic culling of both lines and labels to + keep the volume of information on screen at a useful level. + ''' + + def draw(self, gc, vp, ws_range=None): + ''' + Draw this channel onto a Cairo canvas, using the given viewport. + + Args: + gc: Cairo graphics context. + vp: visible viewport + ws_range: world-space extents withing which objects should be + returned, or None if no filtering. Note that this is just an + optimization hint, and objects outside of this range may be + drawn. + ''' + del ws_range # unused + + # Lowest object we need is the last to cover first WS value + start_index = bisect.bisect_left(self.objects_x_max, vp.ws.min_x) + + # Highest object we need is the first to cover the last WS value + end_index = bisect.bisect_right(self.objects_x_min, vp.ws.max_x) + end_index = min(end_index, len(self.objects) - 1) + + width = vp.cs.max_x - vp.cs.min_x + + # Allow labels on every 60 pixels and lines every 25 + label_threshold = width / 60 + line_threshold = width / 25 + + # Start with the minimum object + line_count = 0 + + # Iterate all frame markers, rendering conservatively + index = start_index + while index <= end_index: + user_object = self.objects[index] + index += 1 + + # Render only the less lines this time through + if isinstance(user_object, WorldDrawableLine): + line_count += 1 + if line_count % 10 == 0: + user_object.draw(gc, vp) + + # If more lines than line threshold then we're done + if line_count > line_threshold: + return + + # Iterate all frame markers, rendering extras which we need + index = start_index + while index <= end_index: + user_object = self.objects[index] + index += 1 + + # Render extras if needed + if isinstance(object, WorldDrawableLine) or \ + (line_count < label_threshold): + user_object.draw(gc, vp) diff --git a/lglpy/timeline/drawable/drawable_trace.py b/lglpy/timeline/drawable/drawable_trace.py new file mode 100644 index 0000000..2f24fcf --- /dev/null +++ b/lglpy/timeline/drawable/drawable_trace.py @@ -0,0 +1,268 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +A DrawableTrace is a container for a set of WorldDrawable objects that have +been grouped into one or more DrawableChannels. +''' + +import copy + + +class DrawableTrace: + ''' + A container for a series of world-space drawable channels. + + During construction of a trace, all DrawableChannel instances must be + added to the trace before objects are added to the channels, allowing the + trace to track world-space extents. + + Attributes: + ws_bounds: The world-space bounding volume of the objects. May be None + if no objects were added. Bounds are only synced when the channels + are compiled, after all objects have been added. + channels: A list of DrawableChannels in the trace, stored in layer to + allow iteration during rendering. + channel_map: A dict mapping channel name to DrawableChannel instance + style: The style to use for the trace background and overlay labels. + Channels and their objects have their own independent styles. + ''' + + def __init__(self, style): + ''' + Create a new drawable trace. + + Args: + style: visual style. + ''' + self.ws_bounds = None + self.channels = [] + self.channel_map = {} + self.style = style + + def add_channel(self, channel): + ''' + Add a new channel to the trace. + + Channels must be added before any objects are added to them. + + Args: + channel: drawable channel to add. + ''' + self.channels.append(channel) + self.channel_map[channel.name] = channel + + # Keep channel list sorted in layer order + self.channels.sort(key=lambda x: x.layer) + + def get_channel(self, channel_name): + ''' + Get the channel with the given name. + + Args: + channel_name: name of the channel channel to find. + + Returns: + The drawable channel. + + Raises: + KeyError: Channel was not found in this trace. + ''' + return self.channel_map[channel_name] + + def __iter__(self): + ''' + Generator which yields all channels in layer order. + + Channels in the same layer are returned in arbitrary order. + + Yields: + Channels in layer order. + ''' + yield from self.channels + + def each_channel(self, ch_filter=None): + ''' + Generator which yields filtered channels from the trace in layer order. + + Channels in the same layer are returned in arbitrary order. + + Filter function takes each DrawableChannel, and must return True if the + channel should be yielded by the generator, or False if it should be + skipped. + + Args: + ch_filter: channel filter function, or None if no filtering. + + Yields: + Channels in layer order, subject to caller-defined filtering. + ''' + for channel in self.channels: + if not ch_filter or ch_filter(channel): + yield channel + + def each_object(self, ch_filter=None, obj_filter=None, ws_range=None): + ''' + Generator which yields filtered objects from the trace in layer order. + + Objects are returned channel-by-channel, in start time order within + each channel. Channels in the same layer are iterated in arbitrary + order. + + The channel filter function takes each DrawableChannel, and must return + True if objects in the channel should be yielded by the generator, or + False if they should be skipped. + + The object filter function takes each object in the channel, and must + return True if the object should be yielded by the generator, or False + if it should be skipped. + + Args: + ch_filter: channel filter function, or None if no filtering. + obj_filter: object filter function, or None if no filtering. + ws_range: world-space extents withing which objects should be + returned, or None if no filtering. Note that this is just an + optimization hint, and objects outside of this range may be + returned. + + Yields: + Objects in by-channel by-time ordering, subject to filtering. + ''' + for channel in self.each_channel(ch_filter): + yield from channel.each_object(obj_filter, ws_range) + + def extend_bounds(self, rect): + ''' + Extend the bounds of the this container. + + Args: + rect: the new rectangle to include in the bounds. + ''' + if self.ws_bounds is None: + self.ws_bounds = copy.copy(rect) + else: + self.ws_bounds.extend_rect(rect) + + def get_clicked_object(self, ws_x, ws_y): + ''' + Get the object at the specified world-space coordinate. + + Objects can only be selected if their parent channel is both visible + and interactable. + + Args: + ws_x: the world-space X coordinate. + ws_y: the world-space Y coordinate + + Returns: + The drawable object if clicked, or None if no intersection. + ''' + def ch_filter(x): + return x.interactable and x.visible + + for channel in self.each_channel(ch_filter=ch_filter): + clicked_object = channel.get_clicked_object(ws_x, ws_y) + if clicked_object: + return clicked_object + + return None + + def get_boxed_objects(self, ws_x_min, ws_y_min, ws_x_max, ws_y_max, + ch_filter=None): + ''' + Get the set of objects which are encapsulated by a bounding box. + + Objects can only be selected if their parent channel is both visible + and interactable. + + The channel filter function takes each DrawableChannel, and must return + True if objects in the channel should be yielded by the generator, or + False if they should be skipped. + + # TODO: Make box a PrimRect + + Args: + ws_x_min: the world-space X coordinate at the start of the box. + ws_y_min: the world-space Y coordinate at the start of the box. + ws_x_max: the world-space X coordinate at the end of the box. + ws_y_max: the world-space Y coordinate at the end of the box. + ch_filter: channel filter function, or None if no filtering. + + Returns: + List of objects inside the box, or an empty list if no objects are + inside the box. + ''' + if ch_filter: + def ch_filter2(x): + return ch_filter(x) and x.interactable and x.visible + else: + def ch_filter2(x): + return x.interactable and x.visible + + objects = [] + for channel in self.each_channel(ch_filter=ch_filter2): + new_objects = channel.get_boxed_objects(ws_x_min, ws_y_min, + ws_x_max, ws_y_max) + objects.extend(new_objects) + + return objects + + def draw(self, gc, vp, ch_filter=None, ws_range=None, labels=False): + ''' + Draw this trace onto a Cairo canvas, using the given viewport. + + The channel filter function takes each DrawableChannel, and must return + True if objects in the channel should be drawn. Channels that are + not visible are always skipped, irrespective of the callee filter. + + Args: + gc: Cairo graphics context. + vp: visible viewport + ch_filter: channel filter function, or None if no filtering. + ws_range: world-space extents withing which objects should be + returned, or None if no filtering. Note that this is just an + optimization hint, and objects outside of this range may be + returned. + labels: are channel name labels enabled? + ''' + if ch_filter: + def ch_filter2(x): + return ch_filter(x) and x.visible + else: + def ch_filter2(x): + return x.visible + + # Draw the main channel data first for all channels + for channel in self.each_channel(ch_filter2): + vp.enable_coverage_culling(channel.coverage_cullable) + channel.draw(gc, vp, ws_range) + + # Draw the labels on top + if labels and self.style.bind_font(gc): + def ch_filter3(x): + return ch_filter2(x) and x.label_visible and x.ws_bounds + + for channel in self.each_channel(ch_filter3): + x = vp.cs.min_x + 15 + y = vp.cs.min_y + channel.ws_bounds.min_y - 7 + gc.move_to(x, y) + gc.show_text(channel.name) diff --git a/lglpy/timeline/drawable/entry_dialog.py b/lglpy/timeline/drawable/entry_dialog.py new file mode 100644 index 0000000..94a34fe --- /dev/null +++ b/lglpy/timeline/drawable/entry_dialog.py @@ -0,0 +1,62 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +This module contains a utility to popup a synchronous dialog with basic a +text entry prompt. +''' + +import gi +gi.require_version('Gtk', '3.0') +# pylint: disable=wrong-import-position +from gi.repository import Gtk + + +def get_entry_dialog(parent, title): + ''' + Synchronously pop up a text entry dialog and wait for a response. + + Args: + parent: parent window. + title: dialog title. + + Returns: + User entered string, or None if they cancelled. + ''' + buttons = ('OK', Gtk.ResponseType.OK) + dialog = Gtk.Dialog(title, parent, Gtk.DialogFlags.MODAL, buttons) + + entry = Gtk.Entry() + entry.connect('activate', lambda ent, dlg, resp: dlg.response(resp), + dialog, Gtk.ResponseType.OK) + dialog.vbox.pack_end(entry, True, True, 0) # pylint: disable=no-member + entry.show() + response = dialog.run() + text = entry.get_text() + dialog.destroy() + + # User entered a response ... + if response == Gtk.ResponseType.OK: + return text + + # User abandoned attempt ... + return None diff --git a/lglpy/timeline/drawable/filechooser_dialog.py b/lglpy/timeline/drawable/filechooser_dialog.py new file mode 100644 index 0000000..4370287 --- /dev/null +++ b/lglpy/timeline/drawable/filechooser_dialog.py @@ -0,0 +1,75 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +This module contains a utility to popup a synchronous dialog with basic a +text entry prompt. +''' + +import gi +gi.require_version('Gtk', '3.0') +# pylint: disable=wrong-import-position +from gi.repository import Gtk + + +def get_open_filechoice(parent, filter_group, filter_patterns): + r""" + Synchronously pop up a file chooser dialog to select a file for opening. + + Args: + parent: Parent window on which the dialog is centered. + filter_group: Name of group for filtering files. + filter_patterns: List of accepted file name patterns, e.g. '*.txt'. + + Return: + The file path if selected, or None if cancelled by the user. + """ + buttons = (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, + Gtk.STOCK_OPEN, Gtk.ResponseType.OK) + + file_chooser = Gtk.FileChooserDialog( + "Open File ...", + action=Gtk.FileChooserAction.OPEN, + buttons=buttons, + parent=parent) + + file_filter = Gtk.FileFilter() + file_filter.set_name("All files") + file_filter.add_pattern("*") + file_chooser.add_filter(file_filter) + + file_filter = Gtk.FileFilter() + file_filter.set_name(filter_group) + for pattern in filter_patterns: + file_filter.add_pattern(pattern) + file_chooser.add_filter(file_filter) + file_chooser.set_filter(file_filter) + + response = file_chooser.run() + file_name = file_chooser.get_filename() + file_chooser.destroy() + + # If the user hit cancel then do nothing here and return + if response != Gtk.ResponseType.OK: + return None + + return file_name diff --git a/lglpy/timeline/drawable/mouse_button.py b/lglpy/timeline/drawable/mouse_button.py new file mode 100644 index 0000000..4c8cf0f --- /dev/null +++ b/lglpy/timeline/drawable/mouse_button.py @@ -0,0 +1,179 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +This module implements utility classes for helping manage mouse interactions. + +The MouseButton class implements persistent state tracking for low-level GTK +mouse events, so it can convert them into high-level logical events such as +click and press-and-drag. + +The MouseDrag class implements persistent state tracking for a single +press-and-drag event. +''' + + +class MouseDrag: + ''' + The state of a single mouse drag event. + + Attributes: + start: start coordinates of the drag. + end: current, and finally end, coordinates of the drag. + delta: position delta in the last drag increment. + mod: modifier key pressed when the mouse click was made. + type: the state of the drag: + - NEW if this is the start of a new drag + - ACTIVE if this is not new and still active drag + - COMPLETE if this is a resolved drag + ''' + NEW = 0 + ACTIVE = 1 + COMPLETE = 2 + + def __init__(self, start, mod): + ''' + Create a new drag state instance. + ''' + self.start = start + self.end = start + self.mod = mod + self.delta = (0, 0) + self.type = self.NEW + + def increment(self, delta_x, delta_y): + ''' + Update a drag instance based on a mouse move event + ''' + self.end = (self.end[0] + delta_x, self.end[1] + delta_y) + self.delta = (delta_x, delta_y) + self.type = self.ACTIVE + + def complete(self): + ''' + Mark this drag as complete. + ''' + self.type = self.COMPLETE + + +class MouseButton: + ''' + The current state of a single mouse button. + + State persists over multiple GTK events, allowing us to turn low-level + events into high-level actions such as click-and-drag. + + Attributes: + name: name string. + is_down: True if is this button is pressed. + mod: modifier key when button first pressed. + start_pos: start position of a drag, None if not in a drag. + last_pos: last position of a drag, None if not in a drag. + drag: state of a mouse drag, or None if no drag is active. + ''' + + def __init__(self, name): + ''' + Create a new button for state tracking. + + Args: + name: name string. + ''' + self.name = name + self.is_down = False + self.mod = None + self.start_pos = None + self.last_pos = None + self.drag = None + + def mouse_press(self, x, y, mod): + ''' + Update state based on a mouse press event. + + Args: + x: mouse x coordinate. + y: mouse y coordinate. + mod: modifier key pressed when the mouse click was made. + ''' + self.is_down = True + self.mod = mod + + self.start_pos = (x, y) + self.last_pos = (x, y) + + # Start a new drag state instance + self.drag = MouseDrag(self.start_pos, self.mod) + + def mouse_move(self, x, y): + ''' + Update state based on a mouse move event. + + Args: + x: mouse x coordinate. + y: mouse y coordinate. + ''' + if self.last_pos: + delta_x = x - self.last_pos[0] + delta_y = y - self.last_pos[1] + self.last_pos = (x, y) + + if self.is_down: + self.drag.increment(delta_x, delta_y) + + self.last_pos = (x, y) + + def mouse_release(self, x, y): + ''' + Update state based on a mouse release event. + + Args: + x: mouse x coordinate. + y: mouse y coordinate. + ''' + # Ensure move reflects final position + self.mouse_move(x, y) + + # Release the button state + self.is_down = False + + # Finalize a drag state instance + # Can be None if mouse pressed outside of window, but released inside + if self.drag: + self.drag.complete() + + def has_drag_increment(self): + ''' + Return a True if we are in a drag and drag moved in the last event. + ''' + return self.drag and (self.drag.delta[0] or self.drag.delta[1]) + + def has_drag_complete(self): + ''' + Return a True if we are in a drag that has completed. + ''' + return self.drag and (self.drag.type == self.drag.COMPLETE) + + def clear_drag(self): + ''' + Clear a drag. + ''' + self.drag = None diff --git a/lglpy/timeline/drawable/primitive_rectangle.py b/lglpy/timeline/drawable/primitive_rectangle.py new file mode 100644 index 0000000..4b0d6e1 --- /dev/null +++ b/lglpy/timeline/drawable/primitive_rectangle.py @@ -0,0 +1,133 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +This module contains code for manipulating and interacting with basic +rectangular regions. +''' + + +class PrimitiveRectangle: + ''' + Stores position and size of an axis-aligned rectangle. + + To enable efficient use in high-performance parts of the rendering code we + store min and max, as well as the width and height. + + Attributes: + min_x: minimum X coordinate. + min_y: minimum Y coordinate. + max_x: maximum X coordinate. + max_y: maximum Y coordinate. + w: width of the primitive. + h: height of the primitive. + ''' + + __slots__ = ('min_x', 'max_x', 'min_y', 'max_y', 'w', 'h') + + def __init__(self, pos, dim): + ''' + Create a new primitive rectangle. + + Args: + pos: position of the minimum corner of the rectangle. + dim: width and height dimensions of this rectangle. + ''' + self.min_x = float(pos[0]) + self.max_x = float(pos[0] + dim[0]) + + self.min_y = float(pos[1]) + self.max_y = float(pos[1] + dim[1]) + + self.w = float(dim[0]) + self.h = float(dim[1]) + + def extend_rect(self, rect): + ''' + Enlarge the size of this rectangle to enclose the passed rectangle. + + Args: + rect: the rectangle to enclose. + ''' + self.min_x = min(self.min_x, rect.min_x) + self.max_x = max(self.max_x, rect.max_x) + + self.min_y = min(self.min_y, rect.min_y) + self.max_y = max(self.max_y, rect.max_y) + + self.w = self.max_x - self.min_x + self.h = self.max_y - self.min_y + + def intersects(self, other): + ''' + Test whether this rectangle intersects another. + + Args: + other: the rectangle to intersect. + + Returns: + True if there is an intersection, False otherwise. + ''' + return (other.min_x <= self.max_x) and \ + (other.max_x >= self.min_x) and \ + (other.min_y <= self.max_y) and \ + (other.max_y >= self.min_y) + + def is_enclosed_by(self, other): + ''' + Test whether this rectangle is totally inside another. + + Args: + other: other rectangle to test. + + Returns: + True if totally enclosed, False otherwise. + ''' + return (other.min_x <= self.min_x) and \ + (other.max_x >= self.max_x) and \ + (other.min_y <= self.min_y) and \ + (other.max_y >= self.max_y) + + def is_hit_by(self, x, y): + ''' + Test whether the specified point is inside this rectangle. + + Args: + x: test X coordinate. + y: test Y coordinate. + + Returns: + True if point is inside the rectangle, False otherwise. + ''' + return (self.min_x <= x <= self.max_x) and \ + (self.min_y <= y <= self.max_y) + + def __str__(self): + ''' + Return a debug string representation of this primitive box. + + Returns: + A debug string. + ''' + x_str = f'X: {self.min_x}:{self.max_x} [{self.w}]' + y_str = f'Y: {self.min_y}:{self.max_y} [{self.h}]' + return f'{x_str} {y_str}' diff --git a/lglpy/timeline/drawable/style.py b/lglpy/timeline/drawable/style.py new file mode 100644 index 0000000..861ec73 --- /dev/null +++ b/lglpy/timeline/drawable/style.py @@ -0,0 +1,330 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +This module contains hierarchy of classes that can be used to define a set of +related visual styles for rendering drawable objects on a Cairo canvas. The +three classes in the hierarchy are: + + - StyleSetLibrary + - StyleSet + - Style + +A Style instance defines the render state for a visual style used in rendering. +Styles can be used standalone, and do not need to be used as a part of a +bundled StyleSet. + +A StyleSet defines a set of variants for a single style, allowing a single +object to have a different look depending on render state. The variants that +are currently supported are: + + - highlight + - normal + - fade + - hide + +The 'normal' variant is mandatory, but the others are optional. If a variant is +missing the library will perform search towards normal. For example, if there +is no 'hide' style, then the set will attempt to return 'fade', and if that +does not exist will return 'normal'. + +A StyleSetLibrary is a collection of StyleSet instances, which can be looked +up by name. Libraries are read-only and designed to be shared by multiple +user interface components. +''' + +from lglpy.timeline.drawable.drawable import FONT + + +class Style: + ''' + A style defining a set of color, line, font styles to use when rendering. + + Attributes: + variant: the variant name of this style. + style_set: parent style set for this style, may be None. + font: font to use for text labels. + font_size: font size to use for text labels. + font_color: color to use for text labels. + fill_color: color to use for object fill. + line_width: width of lines, in pixels. + line_color: color to use for lines. + line_dash: dash style for lines. + ''' + + __slots__ = ( + 'variant', 'style_set', 'font', 'font_color', 'font_size', + 'fill_color', 'line_color', 'line_width', 'line_dash' + ) + + def __init__(self, variant=None): + ''' + Create a new style instance, assigning defaults if needed. + + Note that all colors are initialized to None, so no objects will be + visible unless a color is assigned. + + Args: + variant: variant name of this style. If in a StyleSet this must + be one of the standard variant names. + ''' + # If we have a variant check it is valid + if None is not variant: + assert variant in StyleSet.VARIANTS + + self.variant = variant + self.style_set = None + + self.font = FONT + self.font_color = None + self.font_size = 10.0 + + self.fill_color = None + + self.line_color = None + self.line_width = 1.0 + self.line_dash = [] + + @classmethod + def css_factory(cls, css_style, variant=None): + ''' + Create and return a new `Style` object from a CSS node. + + All settings will be populated, using the CSS cascade/root settings if + the given style does not define them. + + Args: + css_style: CSS node to source settings from. + variant: variant name of this style. If used in a StyleSet this + must be one of the standard variant names. + + Returns: + Returns the new constructed style object. + ''' + style = cls(variant) + style.load_from_css(css_style) + return style + + def load_from_css(self, css_style): + ''' + Populate this style from a CSS node. + + Args: + css_style: CSS node to source settings from. + ''' + self.font = css_style['font-face'] + self.font_color = css_style['font-color'] + self.font_size = css_style['font-size'] + + self.fill_color = css_style['fill-color'] + + self.line_color = css_style['line-color'] + self.line_width = css_style['line-width'] + self.line_dash = css_style['line-dash'] + + def bind_font(self, gc): + ''' + Bind all Cairo render state needed for rendering labels. + + Args: + gc: Cairo graphics context. + + Returns: bool + True if this style has a visible font, False otherwise. + ''' + if not self.font_color: + return False + + gc.set_source_rgba(*self.font_color) + gc.select_font_face(*self.font) + gc.set_font_size(self.font_size) + return True + + def bind_line(self, gc): + ''' + Bind all Cairo render state needed for rendering lines. + + Args: + gc: Cairo graphics context. + + Returns: bool + True if this style has a visible line, False otherwise. + ''' + if not self.line_color: + return False + + gc.set_source_rgba(*self.line_color) + gc.set_line_width(self.line_width) + gc.set_dash(self.line_dash) + return True + + def bind_fill(self, gc): + ''' + Bind all Cairo render state for rendering fills. + + Args: + gc: Cairo graphics context. + + Returns: bool + True if this style has a visible fill, False otherwise. + ''' + if not self.fill_color: + return False + + gc.set_source_rgba(*self.fill_color) + return True + + +class StyleSet(dict): + ''' + A set of related styles for a drawable object. + + Four style variants are currently allowed: + + - highlight: style used to draw attention + - normal: style used by default + - fade: style used to recess into the background + - hide: style used to severely recess in to the background, or totally hide + + The normal variant is mandatory, the others are all optional. Attempting to + select a variant which is missing will result in the next variant closer to + normal being selected. For example, if you attempt to select the hide + variant the search order will be: hide, fade, normal. + + Attributes: + VARIANTS: list of variants and their search order. + name: name of this style set. + ''' + + VARIANTS = { + 'highlight': ['highlight', 'normal'], + 'normal': ['normal'], + 'fade': ['fade', 'normal'], + 'hide': ['hide', 'fade', 'normal'], + } + + def __init__(self, name): + ''' + Create a new style set. + + Args: + name: name of this style set. + ''' + super().__init__() + self.name = name + + def validate(self): + ''' + Check that this style set is valid. + + Raises: + AssertionError: Style set is missing mandatory 'normal' style. + ''' + assert 'normal' in self + + def add_style(self, variant, style): + ''' + Add a new variant style to this set. + + It is an error to add the same variant more than once, and it is also + invalid to add a Style instance to more than one set. + + Args: + variant: name of the variant to store. + style: style variant to store. + ''' + assert variant not in self + assert variant in self.VARIANTS + assert None is style.style_set + + self[variant] = style + style.style_set = self + + def get_style(self, variant): + ''' + Return the style matching the named variant. + + Args: + variant: name of the variant to fetch. + ''' + search_order = self.VARIANTS[variant] + for search_variant in search_order: + if search_variant in self: + return self[search_variant] + + # Every search includes 'normal' which is mandatory, so should not fail + assert False, f'Style set {self.name} missing "normal" variant' + + +class StyleSetLibrary(dict): + ''' + A set of related style sets. + ''' + + def add_style_set(self, style_set): + ''' + Add a new style set to the library. + + Style names must be unique. + + Args: + style_set: the style set to add to the library + ''' + assert style_set.name not in self + self[style_set.name] = style_set + + def get_style_set(self, name): + ''' + Get a style set from the library. + + Args: + name: name of the style set. + + Returns: + The style set if present. + + Raises: + KeyError: Named style set does not exist. + ''' + return self[name] + + def get_style(self, name, variant='normal'): + ''' + Get a style from the library. + + Args: + name: name of the style set. + variant: name of the style variant. + + Returns: + The style for named set and variant. + + Raises: + KeyError: Named style set does not exist. + ''' + return self[name].get_style(variant) + + def __str__(self): + ''' + Return a debug string representation of this class. + ''' + return str(sorted(self.keys())) diff --git a/lglpy/timeline/drawable/text_pane_widget.py b/lglpy/timeline/drawable/text_pane_widget.py new file mode 100644 index 0000000..4367fcf --- /dev/null +++ b/lglpy/timeline/drawable/text_pane_widget.py @@ -0,0 +1,97 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +A simple multi-line text widget. +''' + +from lglpy.timeline.drawable.primitive_rectangle import PrimitiveRectangle + + +class TextPaneWidget: + ''' + A drawable widget which contains multiple lines of text. + + Attributes: + cs: canvas-space position. + style: visual style for the widget. + text: current text string, or None if not set. + ''' + + def __init__(self, cs_pos, cs_dim, style, text=None): + ''' + Create a new text pane widget. + + Args: + cs_pos: position in canvas-space. + cs_dim: width and height dimensions in canvas-space + style: visual style to use for this widget. + text: initial text string, or None if not set. + ''' + self.cs = PrimitiveRectangle(cs_pos, cs_dim) + self.text = text + self.style = style + + def update_cs(self, cs_pos, cs_dim): + ''' + Set the canvas-space coordinates of this object. + + Args: + cs_pos: position in canvas-space. + cs_dim: width and height dimensions in canvas-space + ''' + self.cs = PrimitiveRectangle(cs_pos, cs_dim) + + def set_text(self, text): + ''' + Set the text of this object. + + Args: + text: user string, or a stringizable object. + ''' + self.text = str(text) + + def draw(self, gc): + ''' + Draw this widget. + + Args: + gc: Cairo graphics context. + ''' + cs = self.cs + + # Clip the rendering context to the extents of this widget + gc.rectangle(cs.min_x, cs.min_y, cs.w, cs.h) + gc.clip() + + # Perform generic configuration of the rendering context + if self.style.bind_font(gc): + # Get the line advance from the font specification + line_height = gc.font_extents()[2] + x = self.cs.min_x + 5 + y = self.cs.min_y + line_height + + lines = self.text.splitlines() + for line in lines: + gc.move_to(x, y) + gc.show_text(line) + y += line_height diff --git a/lglpy/timeline/drawable/timed_statusbar.py b/lglpy/timeline/drawable/timed_statusbar.py new file mode 100644 index 0000000..4ddb855 --- /dev/null +++ b/lglpy/timeline/drawable/timed_statusbar.py @@ -0,0 +1,88 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +A simple status bar widget that will show messages for a limited time before +clearing them. +''' + +import gi +gi.require_version('Gtk', '3.0') +# pylint: disable=wrong-import-position +from gi.repository import Gtk, GObject + + +class TimedStatusbar(Gtk.Alignment): + ''' + Present informative single line messages to the user in a status bar + widget, removing them after a time interval as passed (or they are + overwritten by a newer message). + + Unlike the full Gtk.Statusbar implementation this class only supports a + single string (no stack), and uses a global namespace (no contexts). + ''' + + def __init__(self): + ''' + Create a new widget. + ''' + super().__init__() + self.label = Gtk.Label("") + self.label.set_justify(Gtk.Justification.LEFT) + self.label.set_alignment(0, 0) + self.label.show() + self.add(self.label) + self.set_padding(2, 2, 5, 5) # (t, b, l, r) + self.timer = None + + def log(self, message, timeout=5000): + ''' + Show a new status log entry. + + Args: + message: text message to show. + timeout: timeout (in milliseconds), or 0 to show indefinitely. + ''' + # Clear any existing time belonging to the previous message + if self.timer: + GObject.source_remove(self.timer) + self.timer = None + + # Update and set timers for the new message + self.label.set_label(message) + + if timeout: + self.timer = GObject.timeout_add(timeout, self.clear) + + def clear(self): + ''' + Clear the status bar instantly. + + This function can be used as a GTK timer callback, and returns False to + stop the timer after a single iteration. + + Returns: + Always returns False to stop timer from looping. + ''' + self.label.set_label("") + self.timer = None + return False diff --git a/lglpy/timeline/drawable/timeline_base.py b/lglpy/timeline/drawable/timeline_base.py new file mode 100644 index 0000000..acf4194 --- /dev/null +++ b/lglpy/timeline/drawable/timeline_base.py @@ -0,0 +1,1024 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +A TimelineWidgetBase is a container for drawable world-space objects that can be +dynamically transformed from world-space to canvas-space for rendering. The +widget interface provides standard controls for updating the visible region, +with zoom and pan control. It also provides standard tools for making +selections in canvas-space and mapping that back a specific object. + +A TimelineViewport is used to describe the currently visible subset of +world-space, and the region of canvas-space coordinates that is it being +projected on to. Viewports are designed to be updated from frame-to-frame, +allowing efficient changes to select the region of world-space being rendered. +''' + +from lglpy.timeline.drawable.drawable import Drawable +from lglpy.timeline.drawable.style import Style +from lglpy.timeline.drawable.canvas_drawable import CanvasDrawableRect, \ + CanvasDrawableRectFill, CanvasDrawableLabel, CanvasDrawableLine +from lglpy.timeline.drawable.timeline_viewport import TimelineViewport +from lglpy.timeline.drawable.entry_dialog import get_entry_dialog + + +class TimelineWidgetBase: + ''' + A container for drawable world-space objects that can be dynamically + transformed from world-space to canvas-space for rendering. + + This widget is designed as a set of horizontal time-tracks plotted on the + canvas, with some fixed-function control regions for making actions and + setting navigation bookmarks running along the top of the widget. + + The underlying viewport behavior is generic, but the zoom and pan controls + (by virtue of the viewport used) only modify the X axis. Using the mouse + for zoom will center the zoom on the cursor. Using mouse drag for pan will + sync the pan with the cursor. + + Trying to pan past the start or end of the trace in the X axis will result + in a visual pan limiter being displayed on screen. + + Attributes: + CLAMP_PIXELS: Width of the boundary clamp boxes, in pixels. + ACTION_BAR_PIXELS: Height of the action bar region in pixels. + BOOKMARK_BAR_PIXELS: Height of the action bar region in pixels. + MAX_PIXELS_PER_US_MAX : Max number of pixels per nanosecond. + Increase this to allow more zoomed in views. + ZOOM_SCALE: Scaling rate per step of zoom on the mouse wheel. + Increase this to speed up rate of change. + + Attributes: + drawable_trace: DrawableTrace` + The trace data we are rendering. + vp: TimelineViewport` + The current world-space to canvas-space mapping. + active_time_range : [min, max] + The current active time region selected by the user. + active_objects: set` + The current set of active objects selected by the user. + active_objects_stash: set` + The current set of saved active objects. + ''' + CLAMP_PIXELS = 12 + ACTION_BAR_PIXELS = 10 + BOTTOM_PAD_PIXELS = 20 + BOOKMARK_BAR_PIXELS = 15 + MAX_PIXELS_PER_US = 0.15 + ZOOM_RATE = 0.2 + + def __init__(self, trace, cs_pos, cs_dim, css, prefix): + ''' + Create a new widget. + + Args: + trace: drawable sequence to render. + cs_pos: canvas-space position of this widget. + cs_dim: canvas-space width and height of this widget. + css: CSS stylesheet to load styles from. + prefix: the widget prefix for the stylesheet. + ''' + self.parent = None + + self.drawable_trace = trace + + # Initial bounds are the size of the whole trace, but may be no data + if self.drawable_trace.ws_bounds: + ws_pos = (trace.ws_bounds.min_x, trace.ws_bounds.min_y) + ws_dim = (trace.ws_bounds.w, trace.ws_bounds.h) + else: + ws_pos = (0, 0) + ws_dim = (1, 1) + + self.vp = TimelineViewport(ws_pos, ws_dim, cs_pos, cs_dim) + + # The absolute limits in the original trace data + self.original_trace_ws_min_x = trace.ws_bounds.min_x + self.original_trace_ws_max_x = trace.ws_bounds.max_x + + # The absolute limits in the trace data + self.trace_ws_min_x = trace.ws_bounds.min_x + self.trace_ws_max_x = trace.ws_bounds.max_x + + # Initialize some rough initial clamps + self.ws_clamp_min_x = self.vp.ws.min_x - 100 + self.ws_clamp_max_x = self.vp.ws.max_x + 100 + + # Store the highlighted region on the trace + self.active_time_range = [] + self.active_objects = set() + self.active_objects_stash = None + + # Store the drag highlight region + self.left_drag_start = None + self.left_drag_current = None + + # Are we rendering labels? + self.show_labels = False + + name = f'{prefix}core' + self.background_style = Style.css_factory(css[name]) + + name = f'{prefix}dragbox' + self.drag_style = Style.css_factory(css[name]) + + name = f'{prefix}activitybar' + self.activity_bar_style = Style.css_factory(css[name]) + + name = f'{prefix}bookmarkbar' + self.bookmark_bar_style = Style.css_factory(css[name]) + + name = f'{prefix}activeregion' + self.activity_region_style = Style.css_factory(css[name]) + + name = f'{prefix}limitclamp' + self.clamp_style = Style.css_factory(css[name]) + + # Legend configuration + self.show_legend = False + self.legend_entries = [] + + name = f'{prefix}legend' + self.legend_style = Style.css_factory(css[name]) + + # Bookmarks + self.bookmarks = {} + + name = f'{prefix}bookmark' + self.bookmark_style = Style.css_factory(css[name]) + + def add_legend_entry(self, name, style): + ''' + Add a legend entry. + + Args: + name: name of the legend entry. + style: visual style for rendering. + ''' + label = CanvasDrawableLabel(self.legend_style, name) + self.legend_entries.append((label, style)) + + def update_cs(self, cs_pos, cs_dim): + ''' + Update the canvas-space coverage of this widget. + + Args: + cs_pos: position in canvas-space. + cs_dim: width and height in canvas-space. + ''' + self.vp.update_cs(cs_pos, cs_dim) + + def is_widget_active(self, x, y): + ''' + Is this widget active at the given canvas-space coordinate. + + Args: + x: X coordinate in canvas-space. + y: Y coordinate in canvas-space. + + Returns: + True if active at coordinate, False otherwise. + ''' + cs = self.vp.cs + return (cs.min_x <= x <= cs.max_x) and (cs.min_y <= y <= cs.max_y) + + def get_active_objects(self, user_data=False): + ''' + Return the set of active objects. + + #TODO: Move user data handling out of this into caller. + + Args: + user_data: should we return user data or raw objects? + + Returns: + Return a list of active objects, or an empty list on error. + ''' + if not user_data: + return list(self.active_objects) + + objects = [x.user_data for x in self.active_objects if x.user_data] + return list(set(objects)) + + def add_to_active_objects(self, new_object): + ''' + Add a new object to the set of active objects. + + Args: + new_object: the object to add. + ''' + # If this is the first selection then fade all the 'other' objects + if not self.active_objects: + for drawable in self.drawable_trace.each_object(): + style_set = drawable.style.style_set + drawable.style = style_set.get_style('fade') + + # Update the style if this is a new user data + user_data = [x.user_data for x in self.active_objects if x.user_data] + + if new_object.user_data and (new_object.user_data not in user_data): + for drawable in self.drawable_trace.each_object(): + if drawable.user_data == new_object.user_data: + style_set = drawable.style.style_set + drawable.style = style_set.get_style('highlight') + else: + style_set = new_object.style.style_set + new_object.style = style_set.get_style('highlight') + + self.active_objects.add(new_object) + + def add_multiple_to_active_objects(self, new_objects): + ''' + Add multiple objects to the set of active objects. + + Args: + new_objects: sequence of objects to add. + ''' + # If this is the first selection then fade all the 'other' objects + if not self.active_objects: + for drawable in self.drawable_trace.each_object(): + style_set = drawable.style.style_set + drawable.style = style_set.get_style('fade') + + for new_object in new_objects: + self.active_objects.add(new_object) + if not new_object.user_data: + style_set = new_object.style.style_set + new_object.style = style_set.get_style('highlight') + + # TODO: What's the point in this? + user_data = {x.user_data for x in self.active_objects if x.user_data} + for drawable in self.drawable_trace.each_object(): + if drawable.user_data in user_data: + style_set = drawable.style.style_set + drawable.style = style_set.get_style('highlight') + + def remove_from_active_objects(self, old_object): + ''' + Remove an object from the set of active objects. + + Args: + old_object: WorldDrawable` + The object to remove. + ''' + removed_objects = set() + user_data = old_object.user_data + + if user_data: + for drawable in self.active_objects: + if drawable.user_data == user_data: + removed_objects.add(drawable) + for drawable in removed_objects: + self.active_objects.remove(drawable) + else: + self.active_objects.remove(old_object) + removed_objects.add(old_object) + + # If nothing left then reset the active state + if not self.active_objects: + self.clear_active_objects() + return + + # Update the style if this is a new user data + user_data = {x.user_data for x in self.active_objects if x.user_data} + + # Update the style + if old_object.user_data and (old_object.user_data not in user_data): + for drawable in self.drawable_trace.each_object(): + if drawable.user_data == old_object.user_data: + drawable.style = drawable.style.style_set.get_style('fade') + else: + old_object.style = old_object.style.style_set.get_style('fade') + + def clear_active_objects(self): + ''' + Clear the set of active objects. + ''' + self.active_objects.clear() + for drawable in self.drawable_trace.each_object(): + drawable.style = drawable.style.style_set.get_style('normal') + + def get_active_time_range(self, limits=False): + ''' + Return the active time range in world-space units. + + Args: + limits: If True return start/end limits, else return duration. + + Returns: + Return the start/end or duration of the active range, or None if + not active range is set. + ''' + if (not self.active_time_range) or \ + (self.active_time_range[0] == self.active_time_range[1]): + return None + + if limits: + return (self.active_time_range[0], self.active_time_range[1]) + + return self.active_time_range[1] - self.active_time_range[0] + + def clear_active_time_range(self): + ''' + Clear the active time range + ''' + del self.active_time_range[:] + + def set_label_visibility(self, labels): + ''' + Toggle whether this widget shows labels or not. + + Args: + labels: True if labels should be drawn for channels. + ''' + self.show_labels = labels + + def set_legend_visibility(self, legend): + ''' + Toggle whether this widget shows the legend or not. + + Args: + legend: True if legend should be drawn. + ''' + self.show_legend = legend + + def on_mouse_scroll(self, scroll, x, y): + ''' + Handle a mouse scroll event. + + Args: + scroll: str + String indicating direction of the scroll. Must be "up" or + "down"; side scrolling mice are not supported! + x: int + X coordinate of the mouse pointer in canvas-space. + y: int + Y coordinate of the mouse pointer in canvas-space. + + Returns: + Returns True if this function triggered some behavior which needs + a redraw, False otherwise. + ''' + cs = self.vp.cs + ws = self.vp.ws + + # Are the bounds out of this widget's canvas area? + if not ((cs.min_x <= x <= cs.max_x) and (cs.min_y <= y <= cs.max_y)): + return None + + # Convert the X coordinate to relative to canvas offset + x = float(x - cs.min_x) + + # Mouse down zooms out, so we scale up the amount of WS on screen + if scroll == 'down': + scale = 1.0 + self.ZOOM_RATE + else: + scale = 1.0 - self.ZOOM_RATE + + # Calculate the ratio of scale to apply to X.min and X.max bounds + # The aim is to keep the diagram under the mouse pointer stationary + ratio_left = x / float(cs.w) + ratio_right = 1.0 - ratio_left + + # Calculate the change in the world visibility based on the up or down + new_ws_width = ws.w * scale + + # Clamp the amount of zoom in + new_ws_min_width = cs.w / self.MAX_PIXELS_PER_US + new_ws_width = max(new_ws_width, new_ws_min_width) + + # Calculate new boundaries + ws_delta_width = new_ws_width - ws.w + new_ws_min_x = ws.min_x - (ws_delta_width * ratio_left) + new_ws_max_x = ws.max_x + (ws_delta_width * ratio_right) + + # Calculate the clamp size, in WS, based on the position given + ws_clamp_width = new_ws_width / cs.w + ws_clamp_width = int(ws_clamp_width) * self.CLAMP_PIXELS + + # Calculate modified min_x and max_x in world-space based on clamp size + self.ws_clamp_min_x = self.trace_ws_min_x - ws_clamp_width + self.ws_clamp_max_x = self.trace_ws_max_x + ws_clamp_width + + # Clamp zoomed values based on new clamps ... + new_ws_min_x = max(int(new_ws_min_x), self.ws_clamp_min_x) + new_ws_max_x = min(int(new_ws_max_x), self.ws_clamp_max_x) + + # Create new bounds, but keep old y as that is provided by top level + ws_pos_new = [new_ws_min_x, ws.min_y] + ws_dim_new = [new_ws_max_x - new_ws_min_x, ws.max_y - ws.min_y] + self.vp.update_ws(ws_pos_new, ws_dim_new) + ws = self.vp.ws + + # We've probably moved stuff, so request a redraw + return True + + def on_mouse_drag(self, button, drag): + ''' + Handle a mouse drag event. + + Args: + button: which button was clicked? + drag: the state of the drag event. + + Returns: + Returns True if this function triggered some behavior which needs + a redraw, False otherwise. + ''' + ws = self.vp.ws + + # Left is a 'click and drag' selection operation increment + if button == 'left': + self.on_mouse_drag_increment(drag) + return True + + # Middle is a 'click and drag' scroll left / right operation + if button != 'middle': + return False + + cs_delta_x = drag.delta[0] + ws_delta_x = int(self.vp.scale_cs_to_ws_x * float(abs(cs_delta_x))) + + # If we are dragging left we increase the world-space timeline + if cs_delta_x < 0: + ws_max_delta_x = self.ws_clamp_max_x - ws.max_x + ws_delta_x = min(ws_max_delta_x, ws_delta_x) + new_ws_min_x = ws.min_x + ws_delta_x + new_ws_max_x = ws.max_x + ws_delta_x + + # If we are dragging right we decrease the world-space timeline + else: + ws_min_delta_x = ws.min_x - self.ws_clamp_min_x + ws_delta_x = min(ws_min_delta_x, ws_delta_x) + new_ws_min_x = ws.min_x - ws_delta_x + new_ws_max_x = ws.max_x - ws_delta_x + + # Clamp zoomed values based on new clamps ... + new_ws_min_x = max(int(new_ws_min_x), self.ws_clamp_min_x) + new_ws_max_x = min(int(new_ws_max_x), self.ws_clamp_max_x) + + # Create new bounds, but keep old y as that is provided by top level + ws_pos_new = [new_ws_min_x, ws.min_y] + ws_dim_new = [new_ws_max_x - new_ws_min_x, ws.max_y - ws.min_y] + self.vp.update_ws(ws_pos_new, ws_dim_new) + + # We've probably moved stuff, so request a redraw + return True + + def on_mouse_drag_increment(self, drag): + ''' + Handle a mouse drag event. + + Args: + drag: the state of the drag event. + ''' + # If we are starting a new drag then reset any rectangle state + self.left_drag_start = drag.start + self.left_drag_current = drag.end + + def on_mouse_drag_release(self, button, drag): + ''' + Handle a mouse drag release event. + + TODO: Make button part of the drag state so it's self contained? + + Args: + button: name of the button. + drag: state of this mouse drag event. + + Returns: + True if this function triggered some behavior which needs a redraw, + False otherwise. + ''' + # Left button is processed as a drag event + if button != 'left': + return False + + # Reset the drag rectangle state + self.left_drag_start = None + self.left_drag_current = None + + start_x, start_y = drag.start + end_x, end_y = drag.end + + # Skip drags in active region + if start_y < self.ACTION_BAR_PIXELS + self.BOOKMARK_BAR_PIXELS: + return False + + # Convert canvas-space to world-space coordinates + vp = self.vp + x_ws1, y_ws1 = vp.transform_cs_to_ws(start_x, start_y) + x_ws2, y_ws2 = vp.transform_cs_to_ws(end_x, end_y) + + # Canonicalize so (min < max) is true + min_x = min(x_ws1, x_ws2) + min_y = min(y_ws1, y_ws2) + max_x = max(x_ws1, x_ws2) + max_y = max(y_ws1, y_ws2) + + # Find the clicked objects + dt = self.drawable_trace + clicked_objects = dt.get_boxed_objects(min_x, min_y, max_x, max_y) + if not clicked_objects: + # Force a redraw if we were dragging, even if the click itself + # didn't do anything. + return True + + # If no modifier then create selection from highlighted region + if drag.mod == '': + self.active_objects.clear() + for clicked_object in clicked_objects: + self.add_to_active_objects(clicked_object) + + # If 'c' modifier then append selection to highlighted region + elif drag.mod == 'c': + for clicked_object in clicked_objects: + if clicked_object not in self.active_objects: + self.add_to_active_objects(clicked_object) + + # If 's' modifier then append selection to highlighted region + elif drag.mod == 's': + for clicked_object in clicked_objects: + if clicked_object in self.active_objects: + self.remove_from_active_objects(clicked_object) + + return True + + def on_mouse_single_click(self, button, x, y, mod): + ''' + Handle a click event. + + Args: + button: name of the button. + x: X coordinate of the mouse pointer in canvas-space. + y: Y coordinate of the mouse pointer in canvas-space. + mod: active key modifiers. + + Returns: + True if this function triggered some behavior which needs a redraw, + False otherwise. + ''' + # Get widget-relative CS coordinates and WS coordinates + cs = self.vp.cs + cs_rel_y = y - cs.min_y + + # If in the ACTIONBAR pixels process as a view highlight ... + if cs_rel_y < self.ACTION_BAR_PIXELS: + ws_x = self.vp.transform_cs_to_ws_x(x) + if mod == '': + self.set_active_region(button, ws_x) + if mod == 'c': + self.set_clip_region(button, ws_x) + return True + + # If in the top 20 pixels process as a view highlight ... + bar_start = self.ACTION_BAR_PIXELS + bar_end = self.ACTION_BAR_PIXELS + self.BOOKMARK_BAR_PIXELS + if bar_start <= cs_rel_y < bar_end: + ws_x = self.vp.transform_cs_to_ws_x(x) + if (button == 'left') and (mod == ''): + self.set_bookmark(ws_x) + elif (button == 'right') and (mod == ''): + self.clear_bookmark(x) + return True + + # Else process as a click event on an object ... + vp = self.vp + ws_x, ws_y = vp.transform_cs_to_ws(x, y) + clicked_object = self.drawable_trace.get_clicked_object(ws_x, ws_y) + + if (button == 'left') and clicked_object: + if mod == '': + if clicked_object in self.active_objects: + self.remove_from_active_objects(clicked_object) + else: + self.active_objects.clear() + self.add_to_active_objects(clicked_object) + return True + + if mod == 'c': + if clicked_object in self.active_objects: + self.remove_from_active_objects(clicked_object) + else: + self.add_to_active_objects(clicked_object) + return True + + return False + + def set_clip_region(self, button, ws_x): + ''' + Set the left and right limit region based on mouse input. + + Args: + button: name of the button. + ws_x: float + The world-space location of the click. + ''' + ws = self.vp.ws + + if button == 'left': + ws_min_x = ws_x + ws_max_x = ws.max_x + self.ws_clamp_min_x = ws_min_x - 100 + elif button == 'right': + ws_min_x = ws.min_x + ws_max_x = ws_x + self.ws_clamp_max_x = ws_max_x + 100 + else: + return False + + self.trace_ws_min_x = self.ws_clamp_min_x + self.trace_ws_max_x = self.ws_clamp_max_x + + # Create new bounds, but keep old y as that is provided by top level + ws_pos_new = [ws_min_x, ws.min_y] + ws_dim_new = [ws_max_x - ws_min_x, ws.max_y - ws.min_y] + self.vp.update_ws(ws_pos_new, ws_dim_new) + return True + + def set_active_region(self, button, ws_x): + ''' + Set the left and right active region based on mouse input. + + Args: + button: str + The button in use (left or right). + ws_x: float + The world-space location of the click. + ''' + if button == 'left': + if self.active_time_range: + self.active_time_range[0] = ws_x + self.active_time_range[1] = \ + max(ws_x, self.active_time_range[1]) + else: + self.active_time_range.append(ws_x) + self.active_time_range.append(self.trace_ws_max_x) + elif button == 'right': + if self.active_time_range: + self.active_time_range[0] = \ + min(ws_x, self.active_time_range[0]) + self.active_time_range[1] = ws_x + else: + self.active_time_range.append(self.trace_ws_min_x) + self.active_time_range.append(ws_x) + else: + return False + + return True + + def set_bookmark(self, ws_x): + ''' + Set the a new bookmark at the world-space X coordinate. + + Args: + ws_x: float + The world-space location of the click. + ''' + bookmark = get_entry_dialog(self.parent.window, 'Enter Bookmark') + if None is not bookmark: + bookmark = bookmark.strip() + + if not bookmark: + print('Warning: Bookmark not specified in dialog') + return + + # TODO: We probably want to avoid bookmarks which are too close to + # other bookmarks here, so make this an abs(diff) > limit check + if ws_x in self.bookmarks: + print('Warning: Bookmark already specified at this location') + return + + if bookmark in self.bookmarks.values(): + print(f'Warning: Bookmark "{bookmark}" already specified') + return + + self.bookmarks[ws_x] = bookmark + + return + + def clear_bookmark(self, cs_x): + ''' + Clear the a new bookmark at the canvas-space X coordinate. + + Args: + cs_x: float + The canvas-space location of the click. + ''' + # Get the bounds of a 4 pixel widget in world-space + ws_min_x = self.vp.transform_cs_to_ws_x(cs_x - 2) + ws_max_x = self.vp.transform_cs_to_ws_x(cs_x + 2) + + # Remove any bookmarks in this range + for ws in self.bookmarks: + if ws_min_x <= ws < ws_max_x: + del self.bookmarks[ws] + return True + + return False + + def get_coord_str(self, cx, cy): + ''' + Return a coordinate string for the given canvas-space coordinate. + + This is used as an informative mouse hover, and includes generally + useful information, so doesn't follow any predefined format. + + Returns: + Returns a coordinate-based string if there is a useful string to + return under the given canvas coordinates. This may be an empty + string to clear a previous string, in some cases. + + Returns None if nothing useful can be returned. In this case no + change should be presented to the lglpy.timeline. + ''' + # If in the ACTION BAR then no string + start = 0 + end = self.ACTION_BAR_PIXELS + if start <= cy < self.ACTION_BAR_PIXELS: + return '' + + # If in the BOOKMARK BAR then only a string if hovering over a bookmark + start = end + end += self.BOOKMARK_BAR_PIXELS + if start <= cy < end: + for bookmark, value in self.bookmarks.items(): + bx = self.vp.transform_ws_to_cs_x(bookmark) + start = bx - 3 + end = bx + 3 + if start < cx < end: + ms = bookmark / 1000000.0 + label = f'{ms:0.2f} ms, Bookmark "{value}"' + return label + + # Clear the string if not over a bookmark + return '' + + # Otherwise we are over the main timeline so provide timeline coords + wx = self.vp.transform_cs_to_ws_x(cx) + + # Add time to the label + ms = float(wx) / 1000000.0 + label = f'{ms:0.2f} ms' + + return label + + def set_draw_clip(self, gc): + ''' + Render the clamp regions, if needed. + + Args: + gc: Cairo graphics context. + ''' + cs = self.vp.cs + ws = self.vp.ws + + extra_h = self.ACTION_BAR_PIXELS \ + + self.BOOKMARK_BAR_PIXELS \ + + self.BOTTOM_PAD_PIXELS + + # Draw min_x clamp limits and mask off once drawn + if ws.min_x < self.trace_ws_min_x < ws.max_x: + clamp_x = (self.ws_clamp_min_x + self.trace_ws_min_x) / 2 + + # We want to convert to a width not a position, so remove offset + cs_w = int(self.vp.transform_ws_to_cs_x(clamp_x)) - cs.min_x + cs_w = min(cs_w, self.CLAMP_PIXELS) + cs_h = cs.h + + # Position one pixel off the edge to left, top, and bottom so + # we only get a visible outline on the right-hand edge + pos = (Drawable.rt05(cs.min_x - 1), Drawable.rt05(cs.min_y - 1)) + dim = (cs_w + 1, cs_h + extra_h) + + clamp = CanvasDrawableRect(pos, dim, self.clamp_style) + clamp.draw(gc) + + gc.rectangle(cs.min_x + cs_w + 1, cs.min_y, cs.w, cs.h + extra_h) + gc.clip() + + # Draw max_x clamp limits and mask off once drawn + if ws.min_x < self.trace_ws_max_x < ws.max_x: + clamp_x = (self.ws_clamp_max_x + self.trace_ws_max_x) / 2 + + # We want to convert to a width not a position, so remove offset + cs_x = int(self.vp.transform_ws_to_cs_x(clamp_x)) + cs_w = cs.max_x - cs_x + cs_w = min(cs_w, self.CLAMP_PIXELS) + cs_h = cs.h + + # Position one pixel off the edge to left, top, and bottom so + # we only get a visible outline on the right-hand edge + pos = (Drawable.rt05(cs_x), Drawable.rt05(cs.min_y - 1)) + dim = (cs_w, cs_h + extra_h) + + clamp = CanvasDrawableRect(pos, dim, self.clamp_style) + clamp.draw(gc) + + gc.rectangle(cs.min_x, cs.min_y, cs_x - cs.min_x, cs.h + extra_h) + gc.clip() + + def draw_active_bar(self, gc): + ''' + Render the active region control bar, and the active region if needed. + + Args: + gc: Cairo graphics context. + ''' + cs = self.vp.cs + + # Draw active region interactable zone user hint + style = self.activity_bar_style + height = self.ACTION_BAR_PIXELS + active = CanvasDrawableRectFill((cs.min_x, cs.min_y), + (cs.w, height), style) + active.draw(gc) + + line = Drawable.rt05(cs.min_y + height - 1) + points = [(cs.min_x, line), (cs.max_x, line)] + active = CanvasDrawableLine(points, style) + active.draw(gc) + + # Draw highlighted active region, if any + if self.active_time_range: + ws_min_x = self.active_time_range[0] + ws_max_x = self.active_time_range[1] + + cs_min_x = self.vp.transform_ws_to_cs_x(ws_min_x, 2) + cs_max_x = self.vp.transform_ws_to_cs_x(ws_max_x, 2) + cs_w = cs_max_x - cs_min_x + + style = self.activity_region_style + active = CanvasDrawableRect((cs_min_x, cs.min_y), + (cs_w, cs.h), style) + active.draw(gc) + + def draw_bookmark_bar(self, gc): + ''' + Render the bookmark control bar. + + Args: + gc: Cairo graphics context. + ''' + cs = self.vp.cs + + # Draw active region interactable zone user hint + style = self.bookmark_bar_style + min_y = cs.min_y + self.ACTION_BAR_PIXELS + height = self.BOOKMARK_BAR_PIXELS + active = CanvasDrawableRectFill((cs.min_x, min_y), + (cs.w, height), style) + active.draw(gc) + + line = Drawable.rt05(min_y + height - 1) + points = [(cs.min_x, line), (cs.max_x, line)] + active = CanvasDrawableLine(points, style) + active.draw(gc) + + # Draw bookmark points + style = self.bookmark_style + min_y = min_y + 2 - 0.5 + height = height - 4 + width = 4 + for ws_x, _ in self.bookmarks.items(): + # Skip bookmarks out of the current viewport + if not self.vp.ws.min_x < ws_x < self.vp.ws.max_x: + continue + + # Render bookmarks inside the current viewport + min_x = self.vp.transform_ws_to_cs_x(ws_x, 1) - 2 + active = CanvasDrawableRect((min_x, min_y), (width, height), style) + active.draw(gc) + + def draw_active_drag(self, gc): + ''' + Render the active region control bar, and the active region if needed. + + Args: + gc: Cairo graphics context. + ''' + if self.left_drag_start: + # Don't draw the highlight for an active bar drag + height = self.ACTION_BAR_PIXELS + self.BOOKMARK_BAR_PIXELS + if self.left_drag_start[1] < height: + return + + min_x = min(self.left_drag_start[0], self.left_drag_current[0]) + max_x = max(self.left_drag_start[0], self.left_drag_current[0]) + min_y = min(self.left_drag_start[1], self.left_drag_current[1]) + max_y = max(self.left_drag_start[1], self.left_drag_current[1]) + + w = max(1, max_x - min_x) + h = max(1, max_y - min_y) + + # Draw active region interactable zone user hint + style = self.drag_style + active = CanvasDrawableRect((min_x, min_y), (w, h), style) + active.draw(gc) + + def draw_legend(self, gc): + ''' + Render the legend. + + Args: + gc: Cairo graphics context. + ''' + if (not self.legend_entries) or (not self.show_legend): + return + + borderpad = 10 + textpad = 5 + entrypad = 20 + cell = 10 + max_x = self.vp.cs.max_x - 10 + + width = borderpad + for label, _ in self.legend_entries: + width += label.get_label_extents(gc)[0] + width += textpad + cell + entrypad + width -= entrypad + width += borderpad + + # Draw legend border + style = self.legend_style + min_x = max_x - width + 0.5 + min_y = borderpad + 0.5 + height = borderpad + cell + borderpad + legend = CanvasDrawableRect((min_x, min_y), (width, height), style) + legend.draw(gc) + + # Draw entries + min_x += borderpad + min_y += borderpad + label_y = min_y + cell - 2 + for label, style in self.legend_entries: + legend = CanvasDrawableRect((min_x, min_y), (cell, cell), style) + legend.draw(gc) + min_x += cell + textpad + label.draw(gc, min_x, label_y) + min_x += label.get_label_extents(gc)[0] + min_x += entrypad + + def draw(self, gc, ch_filter=None, ws_range=None): + ''' + Draw this widget. + + Args: + gc: Cairo graphics context. + ch_filter: channel filter function, or None if no filtering. + ws_range: world-space extents withing which objects should be + returned, or None if no filtering. Note that this is just an + optimization hint, and objects outside of this range may be + returned. + ''' + cs = self.vp.cs + extra_h = self.ACTION_BAR_PIXELS \ + + self.BOOKMARK_BAR_PIXELS \ + + self.BOTTOM_PAD_PIXELS + + gc.rectangle(cs.min_x, cs.min_y, cs.w, cs.h + extra_h) + gc.clip() + + pos = (cs.min_x, cs.min_y) + dim = (cs.w, cs.h + extra_h) + test = CanvasDrawableRect(pos, dim, self.background_style) + test.draw(gc) + + # Stop the app drawing over the border + gc.rectangle(cs.min_x, cs.min_y, cs.w - 1, cs.h + extra_h - 1) + gc.clip() + + # Disable culling as we use the viewport to transform coordinates when + # rendering the widget decorations. It gets re-enabled per eligible + # channel when rendering the trace. + self.vp.enable_coverage_culling(False) + + self.set_draw_clip(gc) + self.draw_bookmark_bar(gc) + self.draw_active_bar(gc) + + # Draw the trace + vp = self.vp + self.drawable_trace.draw(gc, vp, ch_filter, ws_range, self.show_labels) + + self.draw_active_drag(gc) + self.draw_legend(gc) diff --git a/lglpy/timeline/drawable/timeline_viewport.py b/lglpy/timeline/drawable/timeline_viewport.py new file mode 100644 index 0000000..f10d831 --- /dev/null +++ b/lglpy/timeline/drawable/timeline_viewport.py @@ -0,0 +1,279 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +A TimelineViewport defines a visible time-range of a 2D world-space, +and the corresponding region of canvas-space coordinates that it is mapped on +to. It provides a useful set of transform functions to convert between the +two coordinate spaces, given the current viewport configuration. + +TODO: Move culling out of this somewhere else. It really belongs in the +DrawableChannel. +''' + +from lglpy.timeline.drawable.primitive_rectangle import PrimitiveRectangle + + +class TimelineViewport: + ''' + A visible region of world-space which is mapped on to a region of + canvas-space coordinates. + + Attributes: + ws: the world-space viewport. + cs: the canvas-space viewport. + coverage_cull_enabled: True if canvas coverage culling is allowed. + coverage_cull_next_ws_x: next world-space X coordinate for cover cull. + coverage_cull_next_cs_x: next canvas-space X coordinate for cover cull. + scale_ws_to_cs_x: scaling factor to convert X WS to CS. + scale_ws_to_cs_y: scaling factor to convert Y WS to CS. + scale_cs_to_ws_x: scaling factor to convert X CS to WS. + scale_cs_to_ws_y: scaling factor to convert Y CS to WS. + ''' + + __slots__ = ( + 'ws', 'cs', + 'scale_ws_to_cs_x', 'scale_ws_to_cs_y', + 'scale_cs_to_ws_x', 'scale_cs_to_ws_y', + 'coverage_cull_enabled', + 'coverage_cull_next_ws_x', 'coverage_cull_next_cs_x' + ) + + def __init__(self, ws_pos, ws_dim, cs_pos, cs_dim): + ''' + Create a new instance. + + Args: + ws_pos: X and Y coordinate in world-space. + ws_dim: width and height dimensions in world-space. + cs_pos: X and Y coordinate in canvas-space. + cs_dim: width and height dimensions in canvas-space. + ''' + self.ws = PrimitiveRectangle(ws_pos, ws_dim) + self.cs = PrimitiveRectangle(cs_pos, cs_dim) + + self.coverage_cull_enabled = False + self.coverage_cull_next_ws_x = 0 + self.coverage_cull_next_cs_x = 0 + + self.scale_ws_to_cs_x = None + self.scale_ws_to_cs_y = None + self.scale_cs_to_ws_x = None + self.scale_cs_to_ws_y = None + self.update_derived() + + def update_ws(self, ws_pos, ws_dim): + ''' + Update the world-space viewport size, and any derived settings. + + Args: + ws_pos: X and Y coordinate in world-space. + ws_dim: width and height dimensions in world-space. + ''' + self.ws = PrimitiveRectangle(ws_pos, ws_dim) + self.update_derived() + + def update_cs(self, cs_pos, cs_dim): + ''' + Update the canvas-space viewport size, and any derived settings. + + Args: + cs_pos: X and Y coordinate in canvas-space. + cs_dim: width and height dimensions in canvas-space. + ''' + self.cs = PrimitiveRectangle(cs_pos, cs_dim) + self.update_derived() + + def update_derived(self): + ''' + Update any of the derived scaling factors after a position update. + ''' + # Calculate scale multipliers for each axis + self.scale_ws_to_cs_x = self.cs.w / self.ws.w + self.scale_ws_to_cs_y = self.cs.h / self.ws.h + + self.scale_cs_to_ws_x = self.ws.w / self.cs.w + self.scale_cs_to_ws_y = self.ws.h / self.cs.h + + # Reset canvas coverage culling + self.coverage_cull_next_ws_x = 0 + self.coverage_cull_next_cs_x = 0 + + def enable_coverage_culling(self, enable): + ''' + Enable the coverage culling algorithm. + + This must be called whenever a drawable sequence with a new Y value + is rendered, even if the scheme is already enabled, in order to reset + the X value. + + Args: + enable: True if coverage culling is enabled, False otherwise. + ''' + self.coverage_cull_enabled = enable + self.coverage_cull_next_ws_x = 0 + self.coverage_cull_next_cs_x = 0 + + def update_coverage_culling(self, last_cs_x): + ''' + Update the coverage of the canvas within the current channel. + + Args: + last_cs_x: the max X extent of the previously object draw. + ''' + if not self.coverage_cull_enabled: + return + + # Save this to avoid overlap in canvas-space + self.coverage_cull_next_cs_x = last_cs_x + 1 + + # Save this to allow fast culling + cs_delta_x = last_cs_x - self.cs.min_x + 1 + ws_delta_x = cs_delta_x * self.scale_cs_to_ws_x + self.coverage_cull_next_ws_x = self.ws.min_x + int(ws_delta_x) + + def is_object_visible(self, drawable): + ''' + Query if the drawable is visible, given the current settings. + + Settings include viewport and culling. + + Args: + drawable: query if this object is visible or not. + + Returns: bool + True if visible, another value otherwise. + ''' + visible = (self.coverage_cull_next_ws_x <= drawable.ws.max_x) and \ + (self.ws.intersects(drawable.ws)) + return visible + + def transform_ws_to_cs_x(self, x, snap=1): + ''' + Compute canvas-space X corresponding to a world-space X value. + + Args: + x: X coordinate in world-space. + snap: snap mode: + - 0: no snap. + - 1: snap to nearest {n}.5 middle of pixel value. + - 2: snap to nearest {n}.0 edge of pixel value. + + Returns: + The canvas-space coordinate. + ''' + cs_x = float(x - self.ws.min_x) * self.scale_ws_to_cs_x + + if snap == 1: + cs_x = float(int(cs_x)) + 0.5 + elif snap == 2: + cs_x = float(int(cs_x)) + + # Offset by the current widget offsets + cs_x = cs_x + self.cs.min_x + + # Jump to the next pixel in the CC culling scheme + # TODO: This seems odd here - move elsewhere! + if self.coverage_cull_enabled: + cs_x = max(self.coverage_cull_next_cs_x, cs_x) + + return cs_x + + def transform_ws_to_cs(self, x, y, snap=1): + ''' + Compute canvas-space corresponding to a world-space value. + + Args: + x: X coordinate in world-space. + y: Y coordinate in world-space. + snap: snap mode: + - 0: no snap. + - 1: snap to nearest {n}.5 middle of pixel value. + - 2: snap to nearest {n}.0 edge of pixel value. + + Returns: + The canvas-space coordinate. + ''' + cs_x = float(x - self.ws.min_x) * self.scale_ws_to_cs_x + cs_y = y + + if snap == 1: + cs_x = float(int(cs_x)) + 0.5 + cs_y = float(int(cs_y)) + 0.5 + elif snap == 2: + cs_x = float(int(cs_x)) + cs_y = float(int(cs_y)) + + # Offset by the current plugin offsets + cs_x = cs_x + self.cs.min_x + cs_y = cs_y + self.cs.min_y + + # Jump to the next pixel in the CC culling scheme + # TODO: This seems odd here - move elsewhere! + if self.coverage_cull_enabled: + cs_x = max(self.coverage_cull_next_cs_x, cs_x) + + return (cs_x, cs_y) + + def transform_cs_to_ws_x(self, x): + ''' + Compute world-space coordinates corresponding to a single X value. + + Args: + x: X coordinate in canvas-space. + + Returns: + The world-space coordinate. + ''' + cs = self.cs + ws = self.ws + ws_x = int(float(x - cs.min_x) * self.scale_cs_to_ws_x) + ws.min_x + return ws_x + + def transform_cs_to_ws(self, x, y): + ''' + Compute world-space corresponding to a canvas-space value. + + Args: + x: X coordinate in canvas-space. + y: Y coordinate in canvas-space. + + Returns: + The world-space coordinate. + ''' + cs = self.cs + ws = self.ws + ws_x = int(float(x - cs.min_x) * self.scale_cs_to_ws_x) + ws.min_x + ws_y = y + return (ws_x, ws_y) + + def __str__(self): + ''' + Return a debug string representation of this viewport. + ''' + ret = ( + 'Viewport:', + f' WS: {self.ws}', + f' CS: {self.cs}' + ) + + return '\n'.join(ret) diff --git a/lglpy/timeline/drawable/world_drawable.py b/lglpy/timeline/drawable/world_drawable.py new file mode 100644 index 0000000..c0c5f61 --- /dev/null +++ b/lglpy/timeline/drawable/world_drawable.py @@ -0,0 +1,174 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +This module contains the base classes for drawable primitives onto a +Cairo-backed rendering canvas. The classes in this module are defined in terms +of world-space coordinates, so their position must be translated into +canvas-space using a viewport before they are rendered. +''' + +from lglpy.timeline.drawable.drawable import DrawableLabel +from lglpy.timeline.drawable.primitive_rectangle import PrimitiveRectangle + + +class WorldDrawable: + ''' + An abstract-base class for world-space objects. + + Attributes: + ws: position and bounding size of this object in world-space. + user_data: arbitrary user data reference. + ''' + + __slots__ = ('ws', 'style', 'user_data') + + def __init__(self, pos, dim, style): + ''' + Initialize a new `WorldDrawable`. + + Args: + pos: X and Y coordinate in world-space. + dim: width and height dimensions in world-space. + style: visual style. + ''' + self.ws = PrimitiveRectangle(pos, dim) + self.style = style + + self.user_data = None + + +class WorldDrawableRect(WorldDrawable): + ''' + A world-space rectangle with fill, stroke, and label. Any of these + may be skipped by setting its color to `None` in the style. + ''' + + __slots__ = ('label', 'label_short') + + def __init__(self, pos, dim, style, label, label_short): + ''' + Initialize a new `WorldDrawable`. + + Args: + pos: X and Y coordinate in world-space. + dim: width and height dimensions in world-space. + style: visual style. + ''' + super().__init__(pos, dim, style) + + self.label = None + if label: + self.label = DrawableLabel(style, label) + + self.label_short = None + if label_short: + self.label_short = DrawableLabel(style, label_short) + + def draw(self, gc, vp): + ''' + Render this object. + + Args: + gc: Cairo graphics context. + vp: viewport configuration. + ''' + if not vp.is_object_visible(self): + return + + x, y = vp.transform_ws_to_cs(self.ws.min_x, self.ws.min_y, 2) + + # Round based on final WS position not on WS width + max_x, max_y = vp.transform_ws_to_cs(self.ws.max_x, self.ws.max_y, 2) + + # Calculate canvas-space width and height + w = max_x - x + 1 + h = max_y - y + 1 + + # Next pixel should be two higher (i.e. leave a gap of one pixel) + vp.update_coverage_culling(max_x + 2) + + # Draw fill if there is one + if self.style.bind_fill(gc): + gc.rectangle(x, y, w, h) + gc.fill() + + # Draw outline + if self.style.bind_line(gc): + gc.rectangle(x + 0.5, y + 0.5, w - 1, h - 1) + gc.stroke() + + # Draw label if present and above minimal size + if self.style.bind_font(gc): + # Try the full label + if self.label.fits_centered(gc, w, 4): + self.label.draw_centered(gc, (x, y), (w, h)) + elif self.label_short and self.label_short.fits_centered(gc, w, 4): + self.label_short.draw_centered(gc, (x, y), (w, h)) + + +class WorldDrawableLine(WorldDrawable): + ''' + A world-space line-strip with a stroke. + ''' + + __slots__ = ("points",) + + def __init__(self, points, style): + ''' + Args: + points: list of point tuples. + style: visual style. + ''' + # Compute bounding box so we can perform intersection tests + x_points = [i[0] for i in points] + y_points = [i[1] for i in points] + pos = (min(x_points), min(y_points)) + dim = (max(x_points) - pos[0], max(y_points) - pos[1]) + + super().__init__(pos, dim, style) + self.points = points + + def draw(self, gc, vp): + ''' + Render this object. + + Args: + gc: Cairo graphics context. + vp: viewport configuration. + ''' + if (not vp.is_object_visible(self)) or (not self.style.line_color): + return + + ws_positions = [] + for pos in self.points: + ws_pos = vp.transform_ws_to_cs(pos[0], pos[1]) + ws_positions.append(ws_pos) + + # Draw line + if self.style.bind_line(gc): + for i in range(0, len(ws_positions) - 1): + line_from = ws_positions[i] + line_to = ws_positions[i + 1] + gc.move_to(line_from[0], line_from[1]) + gc.line_to(line_to[0], line_to[1]) + gc.stroke() diff --git a/lglpy/timeline/gui/__init__.py b/lglpy/timeline/gui/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/gui/default/__init__.py b/lglpy/timeline/gui/default/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/gui/default/view.py b/lglpy/timeline/gui/default/view.py new file mode 100644 index 0000000..bf903b1 --- /dev/null +++ b/lglpy/timeline/gui/default/view.py @@ -0,0 +1,60 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +The default view is the view shown when the tool first boots. +''' + + +from lglpy.timeline.gui.view import View +from lglpy.timeline.drawable.style import Style +from lglpy.timeline.drawable.text_pane_widget import TextPaneWidget + + +class DefaultView(View): + ''' + This `View` is the view first shown when the tool boots. It is not + intended to show any useful data, but a summary of the data loaded, and + perhaps a visually interesting splash screen. + ''' + + MENU_NAME = "Homescreen" + MENU_REQUIRES_DATA_FILE = False + + def __init__(self, window, css): + ''' + Instantiate a new version of this view. + ''' + super().__init__(window, css) + text = "Select a data presentation from the Views menu\n\n" + text += "Please raise any issues the GitHub issue tracker" + style = Style.css_factory(css["homev-core"]) + self.info_widget = TextPaneWidget((0, 0), (600, 100), style, text) + + def draw_view(self, draw_pos, draw_dim): + ''' + Render this view. + + See `View` superclass for documentation. + ''' + gc = super().draw_view(draw_pos, draw_dim) + self.info_widget.draw(gc) diff --git a/lglpy/timeline/gui/resources/dark.css b/lglpy/timeline/gui/resources/dark.css new file mode 100644 index 0000000..9c17e20 --- /dev/null +++ b/lglpy/timeline/gui/resources/dark.css @@ -0,0 +1,232 @@ +/* Centralized settings. */ +mtv-core { + fill-color: #262626; + font-size: 11; +} + +/* ------------------------------------------------------------------------- */ +/* Homescreen View */ + +[mtv-core] homev-core { + font-color: #b0b0b0; + font-size: 13; +} + +/* ------------------------------------------------------------------------- */ +/* Timeline View */ +[mtv-core] tlv-core {} + +/* Timeline View: Widget and Overlay Settings. */ +[tlv-core] tlv-tlw-core { + fill-color: none; + line-color: #101010; +} + +[tlv-core] tlv-tlw-labels { + font-color: #808080; +} + +[tlv-tlw-core] tlv-tlw-activitybar { + fill-color: #2d2d2d; + line-color: #505050; +} + +[tlv-tlw-core] tlv-tlw-bookmarkbar { + fill-color: #2d2d2d; + line-color: #505050; +} + +[tlv-tlw-bookmarkbar] tlv-tlw-bookmark { + fill-color: #880000; + line-color: #404040; +} + +[tlv-tlw-core] tlv-tlw-activeregion { + fill-color: #303d3080; + line-color: none; +} + +[tlv-tlw-core] tlv-tlw-limitclamp { + fill-color: #3f0000; + line-color: #101010; +} + +[tlv-tlw-core] tlv-tlw-dragbox { + fill-color: none; + line-dash: 2,4; + line-width: 1.0; + line-color: #ffffff; +} + +[tlv-tlw-core] tlv-tlw-legend { + fill-color: #262626; + line-width: 1.0; + line-color: #606060; + font-color: #808080; +} + +[tlv-core] tlv-info { + font-color: #b0b0b0; +} + +[tlv-core] tlv-x {} + +[tlv-x] tlv-x.normal { + font-color: #202020; +} + +[tlv-x] tlv-x.fade { + font-color: #808080; +} + +/* Timeline View: Frame Markers */ +[tlv-x.normal] tlv-xframe.normal { + line-color: #7f19cc; + font-color: #7f19cc; + line-dash: 2,4; +} + +/* Timeline View: Stall Objects */ +[tlv-x.normal] tlv-xstall.normal { + fill-color: #a52626; +} + +[tlv-x.fade] tlv-xstall.fade { + fill-color: #444444; + line-color: none; +} + +/* Timeline View: Software Objects */ +[tlv-x.normal] tlv-xsw.normal { + fill-color: #0e6880; +} + +[tlv-x.fade] tlv-xsw.fade { + fill-color: #303030; + line-color: none; +} + +/* Timeline View: Window Objects */ +[tlv-x.normal] tlv-xwin0.normal { + fill-color: #d46308; + line-color: #d46308; +} + +[tlv-x.normal] tlv-xwin1.normal { + fill-color: #e5771d; + line-color: #e5771d; +} + +[tlv-x.normal] tlv-xwin2.normal { + fill-color: #f68933; + line-color: #f68933; +} + +[tlv-x.fade] tlv-xwin0.fade, tlv-xwin1.fade, tlv-xwin2.fade { + fill-color: #444444; + line-color: none; +} + +/* Timeline View: External FBO Objects */ +[tlv-x.normal] tlv-xfbo0.normal { + fill-color: #b50e39; + line-color: #b50e39; +} + +[tlv-x.normal] tlv-xfbo1.normal { + fill-color: #d81244; + line-color: #d81244; +} + +[tlv-x.normal] tlv-xfbo2.normal { + fill-color: #fc164f; + line-color: #fc164f; +} + +[tlv-x.fade] tlv-xfbo0.fade, tlv-xfbo1.fade, tlv-xfbo2.fade { + fill-color: #353535; + line-color: none; +} + +/* Timeline View: Internal FBO Objects */ +[tlv-x.normal] tlv-xifbo0.normal { + fill-color: #138969; + line-color: #138969; +} + +[tlv-x.normal] tlv-xifbo1.normal { + fill-color: #1a9b79; + line-color: #1a9b79; +} + +[tlv-x.normal] tlv-xifbo2.normal { + fill-color: #22ae86; + line-color: #22ae86; +} + +[tlv-x.fade] tlv-xifbo0.fade, tlv-xifbo1.fade, tlv-xifbo2.fade { + fill-color: #353535; + line-color: none; +} + +/* Timeline View: Mipmap Generation Objects */ +[tlv-x.normal] tlv-xmip0.normal { + fill-color: #9d2f9f; + line-color: #9d2f9f; +} + +[tlv-x.normal] tlv-xmip1.normal { + fill-color: #751e7a; + line-color: #751e7a; +} + +[tlv-x.normal] tlv-xmip2.normal { + fill-color: #892c89; + line-color: #892c89; +} + +[tlv-x.fade] tlv-xmip0.fade, tlv-xmip1.fade, tlv-xmip2.fade { + fill-color: #303030; + line-color: none; +} + +/* Timeline View: Mipmap Generation Objects */ +[tlv-x.normal] tlv-xorphan.normal { + fill-color: #003399; + line-color: #003399; + font-color: #b0b0b0; +} + +[tlv-x.fade] tlv-xorphan.fade { + fill-color: #2c2c2c; + line-color: none; +} + +/* Timeline View: Dependency Objects */ +[tlv-x.normal] tlv-xdep.normal { + line-color: #666666; + line-dash: 2,2; +} + +[tlv-x.fade] tlv-xdep.fade { + line-color: #333333; + line-dash: 2,2; +} + +/* Timeline View: Warning Objects */ +[tlv-x.normal] tlv-xwarning.normal { + fill-color: #cccc00; +} + +[tlv-x.fade] tlv-xwarning.fade { + fill-color: none; +} + +/* Timeline View: Error Objects */ +[tlv-x.normal] tlv-xerror.normal { + fill-color: #cc0000; +} + +[tlv-x.fade] tlv-xerror.fade { + fill-color: none; +} diff --git a/lglpy/timeline/gui/resources/icons/mali_m.png b/lglpy/timeline/gui/resources/icons/mali_m.png new file mode 100644 index 0000000..83b24ec Binary files /dev/null and b/lglpy/timeline/gui/resources/icons/mali_m.png differ diff --git a/lglpy/timeline/gui/resources/light.css b/lglpy/timeline/gui/resources/light.css new file mode 100644 index 0000000..56c1c9f --- /dev/null +++ b/lglpy/timeline/gui/resources/light.css @@ -0,0 +1,231 @@ +/* Centralized settings. */ +mtv-core { + fill-color: #e5e5e5; + font-size: 11; +} + +/* ------------------------------------------------------------------------- */ +/* Homescreen View */ + +[mtv-core] homev-core { + font-color: #404040; + font-size: 13; +} + +/* ------------------------------------------------------------------------- */ +/* Timeline View */ +[mtv-core] tlv-core {} + +/* Timeline View: Widget and Overlay Settings. */ +[tlv-core] tlv-tlw-core { + fill-color: none; + line-color: #404040; +} + +[tlv-core] tlv-tlw-labels { + font-color: #404040; +} + +[tlv-tlw-core] tlv-tlw-activitybar { + fill-color: #d0d0d0; + line-color: #505050; +} + +[tlv-tlw-core] tlv-tlw-bookmarkbar { + fill-color: #d0d0d0; + line-color: #505050; +} + +[tlv-tlw-bookmarkbar] tlv-tlw-bookmark { + fill-color: #ff7728; + line-color: #505050; +} + +[tlv-tlw-core] tlv-tlw-activeregion { + fill-color: #ffffff80; + line-color: none; +} + +[tlv-tlw-core] tlv-tlw-limitclamp { + fill-color: #ff7728; + line-color: #404040; +} + +[tlv-tlw-core] tlv-tlw-dragbox { + fill-color: none; + line-dash: 2,4; + line-width: 1.0; + line-color: #202020; +} + +[tlv-tlw-core] tlv-tlw-legend { + fill-color: #e5e5e5; + line-width: 1.0; + line-color: #606060; + font-color: #404040; +} + +[tlv-core] tlv-info { + font-color: #404040; +} + +[tlv-core] tlv-x {} + +[tlv-x] tlv-x.normal { + font-color: #202020; +} + +[tlv-x] tlv-x.fade { + font-color: #989898; +} + +/* Timeline View: Frame Markers */ +[tlv-x.normal] tlv-xframe.normal { + line-color: #7f19cc; + font-color: #7f19cc; + line-dash: 2,4; +} + +/* Timeline View: Stall Objects */ +[tlv-x.normal] tlv-xstall.normal { + fill-color: #a52626; +} + +[tlv-x.fade] tlv-xstall.fade { + fill-color: #d8d8d8; + line-color: none; +} + +/* Timeline View: Software Objects */ +[tlv-x.normal] tlv-xsw.normal { + fill-color: #0e6880; +} + +[tlv-x.fade] tlv-xsw.fade { + fill-color: #e0e0e0; + line-color: none; +} + +/* Timeline View: Window Objects */ +[tlv-x.normal] tlv-xwin0.normal { + fill-color: #d46308; + line-color: #d46308; +} + +[tlv-x.normal] tlv-xwin1.normal { + fill-color: #e5771d; + line-color: #e5771d; +} + +[tlv-x.normal] tlv-xwin2.normal { + fill-color: #f68933; + line-color: #f68933; +} + +[tlv-x.fade] tlv-xwin0.fade, tlv-xwin1.fade, tlv-xwin2.fade { + fill-color: #e0e0e0; + line-color: none; +} + +/* Timeline View: External FBO Objects */ +[tlv-x.normal] tlv-xfbo0.normal { + fill-color: #b50e39; + line-color: #b50e39; +} + +[tlv-x.normal] tlv-xfbo1.normal { + fill-color: #d81244; + line-color: #d81244; +} + +[tlv-x.normal] tlv-xfbo2.normal { + fill-color: #fc164f; + line-color: #fc164f; +} + +[tlv-x.fade] tlv-xfbo0.fade, tlv-xfbo1.fade, tlv-xfbo2.fade { + fill-color: #dcdcdc; + line-color: none; +} + +/* Timeline View: Internal FBO Objects */ +[tlv-x.normal] tlv-xifbo0.normal { + fill-color: #138969; + line-color: #138969; +} + +[tlv-x.normal] tlv-xifbo1.normal { + fill-color: #1a9b79; + line-color: #1a9b79; +} + +[tlv-x.normal] tlv-xifbo2.normal { + fill-color: #22ae86; + line-color: #22ae86; +} + +[tlv-x.fade] tlv-xifbo0.fade, tlv-xifbo1.fade, tlv-xifbo2.fade { + fill-color: #dcdcdc; + line-color: none; +} + +/* Timeline View: Mipmap Generation Objects */ +[tlv-x.normal] tlv-xmip0.normal { + fill-color: #60166a; + line-color: #60166a; +} + +[tlv-x.normal] tlv-xmip1.normal { + fill-color: #751e7a; + line-color: #751e7a; +} + +[tlv-x.normal] tlv-xmip2.normal { + fill-color: #892c89; + line-color: #892c89; +} + +[tlv-x.fade] tlv-xmip0.fade, tlv-xmip1.fade, tlv-xmip2.fade { + fill-color: #d0d0d0; + line-color: none; +} + +/* Timeline View: Mipmap Generation Objects */ +[tlv-x.normal] tlv-xorphan.normal { + fill-color: #2626a5; + line-color: #2626a5; +} + +[tlv-x.fade] tlv-xorphan.fade { + fill-color: #e8e8e8; + line-color: none; +} + +/* Timeline View: Dependency Objects */ +[tlv-x.normal] tlv-xdep.normal { + line-color: #555555; + line-dash: 2,2; +} + +[tlv-x.fade] tlv-xdep.fade { + line-color: #b8b8b8; + line-dash: 2,2; +} + +/* Timeline View: Warning Objects */ +[tlv-x.normal] tlv-xwarning.normal { + fill-color: #cccc00; +} + +[tlv-x.fade] tlv-xwarning.fade { + fill-color: none; +} + +/* Timeline View: Error Objects */ +[tlv-x.normal] tlv-xerror.normal { + fill-color: #cc0000; +} + +[tlv-x.fade] tlv-xerror.fade { + fill-color: none; +} diff --git a/lglpy/timeline/gui/timeline/__init__.py b/lglpy/timeline/gui/timeline/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/gui/timeline/info_widget.py b/lglpy/timeline/gui/timeline/info_widget.py new file mode 100644 index 0000000..126696e --- /dev/null +++ b/lglpy/timeline/gui/timeline/info_widget.py @@ -0,0 +1,213 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +The `TimelineInfoWidget` class implements a specialized version of the +`TextPaneWidget`, used to render informative messages about the current +timeline visualization. +''' + +from lglpy.timeline.drawable.text_pane_widget import TextPaneWidget +from lglpy.timeline.drawable.world_drawable import WorldDrawableLine + + +class TimelineInfoWidget(TextPaneWidget): + ''' + A widget which presents useful information about selected workloads or + time ranges in the main timeline. + ''' + + VALIDSORTS = ['flush', 'runtime'] + + def __init__(self, timeline_widget, style): + ''' + Create a new timeline information widget. + + TODO: Add args. + ''' + super().__init__((0, 0), (1, 1), style, '') + self.timeline_widget = timeline_widget + self.sort_type = self. VALIDSORTS[0] + + def get_frame_rate(self, start, end): + ''' + Compute the frame rate for frames in the selected time range. + + Args: + start: start of time range. + end: end of time range. + + Returns: + Compute frame rate or None if could not be determined. + ''' + tl = self.timeline_widget + try: + channel = tl.drawable_trace.get_channel('sw.frame') + except KeyError: + return None + + frame_count = 0 + first_frame = None + last_frame = None + + def event_filter(x): + return isinstance(x, WorldDrawableLine) + + for drawable in channel.each_object(event_filter): + frame_time = drawable.ws.min_x + if start <= frame_time < end: + frame_count += 1 + if not first_frame: + first_frame = frame_time + last_frame = frame_time + + # We need at least two frame markers to bracket an FPS metric + if frame_count < 2: + return None + + frame_count = float(frame_count - 1) + duration = float(last_frame - first_frame) / 1000000000.0 + msf = (duration * 1000.0) / frame_count + fps = frame_count / duration + + lines = [ + f' Frames: {frame_count}' + f' Performance: {msf:0.2f} ms/F ({fps:0.2f} FPS)' + ] + + return lines + + def get_gpu_utilization( + self, start, end, slot=('Non-fragment', 'Fragment', 'Transfer')): + ''' + Compute the hardware utilization over the active time range. + + Args: + start: start of time range. + end: end of time range. + slot: the hardware queues to include (default all of them). + + Returns: + Compute frame rate or None if could not be determined. + ''' + usage = 0 + range_end = 0 + + def event_filter(x): + return x.name in slot + + trace = self.timeline_widget.drawable_trace + trace = [(x.ws.min_x, x.ws.max_x) + for x in trace.each_object(event_filter)] + trace.sort() + + for min_x, max_x in trace: + # Skip drawables which are out of the range + if max_x < start: + continue + + if min_x > end: + break + + # Clamp to the start range + min_x = max(start, min_x) + max_x = min(end, max_x) + + # Cut off the parts which we have already counted + if range_end: + min_x = max(range_end, min_x) + max_x = max(range_end, max_x) + + # Now just store the new data ... + usage += max_x - min_x + range_end = max(range_end, max_x) + + util = (float(usage) / float(end - start)) * 100.0 + return f'{util:0.1f}%' + + def get_active_region_stats(self): + ''' + Compute all metrics for the active time range. + + Returns: + List of lines to be printed. + ''' + active = self.timeline_widget.get_active_time_range(True) + if not active: + return ['Active Region: -', ''] + + duration = active[1] - active[0] + if duration < 0: + return ['Active Region: -', ''] + + # Convert to milliseconds + duration = float(duration) / 1000000.0 + start = float(active[0]) / 1000000.0 + + lines = [ + 'Active Region:', + f' Start = {start:0.3f} ms' + f' Duration = {duration:0.3f} ms' + ] + + fps = self.get_frame_rate(*active) + if fps: + lines.extend(fps) + + nf_util = self.get_gpu_utilization(*active, slot=("Non-fragment",)) + f_util = self.get_gpu_utilization(*active, slot=("Fragment",)) + t_util = self.get_gpu_utilization(*active, slot=("Transfer",)) + gpu_util = self.get_gpu_utilization(*active) + + util = [ + '', + 'Utilization:', + f' Non-fragment: {nf_util}', + f' Fragment: {f_util}', + f' Transfer: {t_util}', + f' GPU: {gpu_util}', + '' + ] + + lines.extend(util) + return lines + + def draw(self, gc): + ''' + Draw this widget. + + Args: + gc: Cairo graphics context. + ''' + lines = [] + + # Top line: Active region size (optional) + message = self.get_active_region_stats() + lines.extend(message) + + active_objects = self.timeline_widget.get_active_objects(True) + # If we have one object just print it out + if 1 == len(active_objects): + lines.extend(active_objects[0].getDescription()) + + self.set_text('\n'.join(lines)) + super().draw(gc) diff --git a/lglpy/timeline/gui/timeline/timeline_widget.py b/lglpy/timeline/gui/timeline/timeline_widget.py new file mode 100644 index 0000000..ba1b784 --- /dev/null +++ b/lglpy/timeline/gui/timeline/timeline_widget.py @@ -0,0 +1,251 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +TODO +''' + +import gi +gi.require_version('Gtk', '3.0') +# pylint: disable=wrong-import-position +from gi.repository import Gtk + +from lglpy.timeline.drawable.world_drawable import WorldDrawableLine +from lglpy.timeline.drawable.timeline_base import TimelineWidgetBase + + +class TimelineWidget(TimelineWidgetBase): + ''' + TODO: Write documentation ... + ''' + + def __init__(self, parent, trace, css): + ''' + TODO: Write documentation ... + ''' + pos = (0, 0) + dim = (1, 1) + prefix = 'tlv-tlw-' + super().__init__(trace, pos, dim, css, prefix) + + self.parent = parent + + def on_mouse_single_click(self, button, x, y, mod): + ''' + Handle a click event. + + We follow the same convention as the `View` module API, so see that + class for documentation. + ''' + parent = super() + if parent.on_mouse_single_click(button, x, y, mod): + return True + + # The only extra options are right menu click options + if button == 'left': + return False + + # Try to find a clicked object, if there is one + vp = self.vp + ws_x, ws_y = vp.transform_cs_to_ws(x, y) + + clicked = self.drawable_trace.get_clicked_object(ws_x, ws_y) + + # Fetch the raw GTK event + event = self.parent.get_raw_mouse_event() + + # If we are clicking on an object show the click menu + if clicked: + menu = Gtk.Menu() + + menui = Gtk.MenuItem('Highlight by Render Pass') + menui.connect_object('activate', self.on_orc1, clicked) + menu.append(menui) + + menui = Gtk.MenuItem('Highlight by Frame') + # TODO: Implement this + menu.append(menui) + + menu.show_all() + menu.popup_at_pointer(event) + + return True + + # If we are not clicking on an object show the other click menu + if mod == '': + menu = Gtk.Menu() + + menui = Gtk.MenuItem('Clear Selected Time Range') + menui.connect_object('activate', self.on_norc1, clicked) + menu.append(menui) + + menui = Gtk.MenuItem('Clear Selected Objects') + menui.connect_object('activate', self.on_norc2, clicked) + menu.append(menui) + + menui = Gtk.MenuItem('Clear Timeline Clamps') + menui.connect_object('activate', self.on_norc3, clicked) + menu.append(menui) + + bookmarks = {} + for time, name in self.bookmarks.items(): + # Keep bookmarks in active clamp range only + if self.ws_clamp_min_x < time < self.ws_clamp_max_x: + bookmarks[time] = name + + if bookmarks: + menui = Gtk.MenuItem('Jump to Bookmark') + menu.append(menui) + + submenu = Gtk.Menu() + menui.set_submenu(submenu) + + handler = self.on_jump_bookmark + for bookmark in sorted(bookmarks.keys()): + key = bookmarks[bookmark] + menui = Gtk.MenuItem(key) + menui.connect_object('activate', handler, key) + submenu.append(menui) + + menu.show_all() + menu.popup_at_pointer(event) + + return True + + return False + + def on_orc1(self, clicked_object): + ''' + Right click menu handler -> highlight by single render pass + ''' + self.clear_active_objects() + self.add_to_active_objects(clicked_object) + self.parent.queue_draw() + + def on_norc1(self, clicked_object): + ''' + Right click menu handler -> clear range + ''' + del clicked_object + self.active_time_range = [] + self.parent.queue_draw() + + def on_norc2(self, clicked_object): + ''' + Right click menu handler -> clear selection + ''' + del clicked_object + self.clear_active_objects() + self.parent.queue_draw() + + def on_norc3(self, clicked_object): + ''' + Right click menu handler -> clear clamp limits + ''' + del clicked_object + self.ws_clamp_min_x = self.original_trace_ws_min_x - 100 + self.trace_ws_min_x = self.ws_clamp_min_x + self.ws_clamp_max_x = self.original_trace_ws_max_x + 100 + self.trace_ws_max_x = self.ws_clamp_max_x + self.parent.queue_draw() + + def on_jump_bookmark(self, name): + ''' + Right click menu handler -> jump to bookmark + ''' + for ws_target_x, value in self.bookmarks.items(): + if value == name: + break + else: + return + + clamp_min_x = self.ws_clamp_min_x + clamp_max_x = self.ws_clamp_max_x + if not clamp_min_x <= ws_target_x <= clamp_max_x: + print(f'WARNING: Bookmark {name} outside of clamped range') + return + + # Put the bookmark in the middle of the screen, but handle clamps + # gracefully, which may pull it off center + ws_start_x = max(ws_target_x - (self.vp.ws.w / 2), clamp_min_x) + ws_end_x = min(ws_target_x + (self.vp.ws.w / 2), clamp_max_x) + + # Finally we can update the viewport and render + ws = self.vp.ws + ws_pos_new = [ws_start_x, ws.min_y] + ws_dim_new = [ws_end_x - ws_start_x, ws.max_y - ws.min_y] + self.vp.update_ws(ws_pos_new, ws_dim_new) + + self.parent.queue_draw() + + def jump_one_frame(self, forward): + ''' + Handle jump one frame forward or backwards. + ''' + # Find the scene object in the config + def ch_filter(channel): + return channel.name in ['sw.frame'] + + def obj_filter(event): + return isinstance(event, WorldDrawableLine) + + # Find the frame either side of the first eglSwap in the viewport + prev = None + start = None + end = None + + ws = self.vp.ws + for drawable in self.drawable_trace.each_object(ch_filter, obj_filter): + if drawable.ws.min_x >= ws.min_x: + if not start: + start = drawable.ws.min_x + else: + end = drawable.ws.min_x + break + else: + prev = drawable.ws.min_x + + if None is end: + print('Warning: Unable to determine frame time') + return + + # Use gap between N and N+1 when moving forwards + if forward: + ws_pos_new = [ws.min_x + end - start, ws.min_y] + # Use gap between N-1 and N when moving backwards (if there is a + # backwards). This ensures that toggling left and right is stable + # without jitter + elif prev: + ws_pos_new = [ws.min_x - start + prev, ws.min_y] + # Otherwise nothing to do, so return + else: + return + + # Clamp the start against the clamp ranges + ws_pos_new = [max(self.ws_clamp_min_x, ws_pos_new[0]), ws_pos_new[1]] + max_w = self.ws_clamp_max_x - ws_pos_new[0] - 5 + + width = min(ws.max_x - ws.min_x, max_w) + ws_dim_new = [width, ws.max_y - ws.min_y] + + self.vp.update_ws(ws_pos_new, ws_dim_new) + self.parent.queue_draw() diff --git a/lglpy/timeline/gui/timeline/view.py b/lglpy/timeline/gui/timeline/view.py new file mode 100644 index 0000000..bf03c4c --- /dev/null +++ b/lglpy/timeline/gui/timeline/view.py @@ -0,0 +1,655 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +TODO +''' + +import time + +import gi +gi.require_version('Gtk', '3.0') +# pylint: disable=wrong-import-position +from gi.repository import Gtk + +from lglpy.timeline.gui.view import View +from lglpy.timeline.gui.timeline.timeline_widget import TimelineWidget +from lglpy.timeline.gui.timeline.info_widget import TimelineInfoWidget + +from lglpy.timeline.drawable.drawable_trace import DrawableTrace +from lglpy.timeline.drawable.drawable_channel import DrawableChannel +from lglpy.timeline.drawable.drawable_channel import DrawableChannelFrameMarkers +from lglpy.timeline.drawable.world_drawable import WorldDrawableRect +from lglpy.timeline.drawable.style import Style, StyleSet, StyleSetLibrary + + +class FakeMouseDrag: + ''' + Create a fake key drag event for simulating a mouse drag when pressing + a key 'alternative' instead of dragging. + ''' + + def __init__(self, drag): + ''' + Create a new fake mouse drag. + + Args: + drag: The drag amount. + ''' + if drag > 0: + self.start = (0, 1) + self.end = (drag, 1) + else: + self.start = (abs(drag), 1) + self.end = (0, 1) + + self.delta = [drag] + + +class TLSpec: + ''' + An instance of this class resembles the specification for the behavior of + a single object class in the timeline widget. This effectively defines the + behavior of a single drawable channel and all the objects it contains. + + To provide different coloring modes some channels simply overlap the + same screen space. + ''' + CHANNEL_START_Y = 55 + CHANNEL_BOX_Y = 40 + CHANNEL_GAP_Y = 30 + + specMap = {} # type: dict[str, TLSpec] + + def __init__(self, name, row, layer, cull, click, label, frame=False): + ''' + Create the specification of a new channel row. + ''' + self.name = name + self.row = row + self.layer = layer + self.cull = cull + self.click = click + self.label = label + self.frame = frame + + # Update the class state cache + self.__class__.specMap[name] = self + + self.cached_start_y = None + + def get_y_start(self): + ''' + Get the start of this channel in the world-coordinates. + + Returns: + The start Y coordinate. + ''' + if None is not self.cached_start_y: + return self.cached_start_y + + y = self.CHANNEL_START_Y + + # Ready channel piggybacks on the back of its parent channel + y += self.row * (self.CHANNEL_BOX_Y + self.CHANNEL_GAP_Y) + + self.cached_start_y = y + return y + + def get_y_end(self): + ''' + Get the end of this channel in the world-coordinates. + + Returns: + The end Y coordinate. + ''' + return self.get_y_start() + self.CHANNEL_BOX_Y + + @classmethod + def get_channel(cls, channel): + ''' + Get the channel matching the name. + ''' + return cls.specMap[channel] + + @classmethod + def get_channels(cls): + ''' + Get all channels, sorted by name. + ''' + return sorted(cls.specMap.keys()) + + @classmethod + def get_box(cls, channel, start, end, style, label, short, user_data=None): + ''' + Build a drawable box to go into a channel. + + # TODO: Move this to DrawableChannel? + ''' + channel = cls.specMap[channel] + pos = (start, channel.get_y_start()) + dim = (end - start, cls.CHANNEL_BOX_Y) + short = None if short == label else short + draw = WorldDrawableRect(pos, dim, style, label, short) + draw.user_data = user_data + return draw + + +class TLColor: + ''' + An instance of this class resembles the specification for the behavior of + a single class of object and how it is colored (i.e. which StyleSet + objects of this class uses). + ''' + + def __init__(self, channel, style_code, types, rotation): + ''' + Create a new TLColor config entry. + + Args: + channel: str + The channel name for the objects to be colored. + style_code: str + The name of StyleSet to use. + types: str + The name of the object class which is to be colored. + rotation: bool + Whether objects of this class use a rotating set of styles to + provide visual differentiation. + ''' + self.channel = channel + self.style_code = style_code + self.types = types + self.rotation = rotation + + +class TLStyles(StyleSetLibrary): + ''' + An instance of this class resembles the specification for the behavior of + the drawable styles which are used by the rendering of the timeline. + ''' + + COLORS = ["frame"] + + COLORS_ROTATE = ['frame', 'fbo', 'win'] + + def __init__(self, css, color_map): + ''' + Create a populated style set library. + ''' + super().__init__() + self.color_map = color_map + self.cache = {} + + for color in self.COLORS: + for variant in StyleSet.VARIANTS: + self.add_style(css, color, variant) + + for color_base in self.COLORS_ROTATE: + for i in range(0, 3): + color = f'{color_base}{i}' + for variant in StyleSet.VARIANTS: + self.add_style(css, color, variant) + + def add_style(self, css, style_name, variant): + ''' + Add a new style to the timeline style library + ''' + style_variant = f'tlv-x{style_name}.{variant}' + + # Try to load the CSSNode - skip if it didn't exist + try: + style_node = css[style_variant] + except KeyError: + return + + # Load the parent style set, creating if it doesn't exist + if style_name not in self: + style_set = StyleSet(style_name) + self.add_style_set(style_set) + + # Create the style + style = Style(variant) + style.load_from_css(style_node) + + style_set = self.get_style_set(style_name) + style_set.add_style(variant, style) + + def get_style(self, name, variant=0, types='all'): + ''' + Add a new style to the timeline style library + ''' + # Determining the correct style is quite slow and called frequently, so + # build a hash table of styles matching requested keys and use that ... + key = (name, variant, types) + if key in self.cache: + return self.cache[key] + + name = name.split('.') + name = name[0:2] + name = '.'.join(name) + + # Find the style specified for the given channel, object, and rotation + def test(x): + return x.channel == name and x.types == types + + cmap = [x for x in self.color_map if test(x)] + assert len(cmap) == 1, f'{name}, {len(cmap)}' + + style = cmap[0].style_code + if cmap[0].rotation: + style = f'{style}{variant}' + + # Call the parent class method to fetch the correct style + style = super().get_style(style) + self.cache[key] = style + return style + + +class TimelineView(View): + ''' + This `View` is the hardware-centric time-based event trace, showing the + flow of GPU workloads through the combined software and hardware stack. + ''' + + MENU_NAME = 'Timeline' + DEBUG_DRAW_TIME = False + MENU_REQUIRES_DATA_FILE = True + INFO_PANEL_W = 350 + + def __init__(self, window, css): + ''' + Create a new timeline view. + ''' + super().__init__(window, css) + self.background_color = css['tlv-core']['fill-color'] + + self.parent = window + self.css = css + self.trace_data = None + + self.timeline_widget = None + self.timeline_trace = None + self.info_widget = None + + self.timeline_spec = ( + TLSpec('Frame', 0, 1, False, False, False, True), + TLSpec('Compute', 1, 1, True, True, True), + TLSpec('Non-fragment', 2, 1, True, True, True), + TLSpec('Binning', 2, 1, True, True, True), + TLSpec('Fragment', 3, 1, True, True, True), + TLSpec('Main', 3, 1, True, True, True), + TLSpec('Transfer', 4, 1, True, True, True), + ) + + self.timeline_colors = ( + TLColor('Frame', 'frame', 'all', False), + TLColor('Compute', 'win', 'window', True), + TLColor('Compute', 'fbo', 'fbo', True), + TLColor('Non-fragment', 'win', 'window', True), + TLColor('Non-fragment', 'fbo', 'fbo', True), + TLColor('Binning', 'win', 'window', True), + TLColor('Binning', 'fbo', 'fbo', True), + TLColor('Fragment', 'win', 'window', True), + TLColor('Fragment', 'fbo', 'fbo', True), + TLColor('Main', 'win', 'window', True), + TLColor('Main', 'fbo', 'fbo', True), + TLColor('Transfer', 'win', 'window', True), + TLColor('Transfer', 'fbo', 'fbo', True), + ) + + self.timeline_styles = TLStyles(self.css, self.timeline_colors) + + self.menu_visibility_spec = ( + [1, 'Show legend', False, self.on_visibility_other, 'legend'], + [1, 'Show labels', True, self.on_visibility_other, 'labels'], + [1, 'Show info panel', True, self.on_visibility_other, 'info'] + ) + + self.config_visibility = { + 'channel': {}, + 'other': {} + } + + # Everything defaults to visible (we use the menuVisibilitySpec to + # turn off the few things which are not enabled by default). + for channel in TLSpec.get_channels(): + self.config_visibility['channel'][channel] = True + + for item in self.menu_visibility_spec: + self.config_visibility['other'][item[4]] = item[2] + + # Local menu: create the menu items + self.menu_bar = Gtk.MenuItem('Timeline') + + menu_root = Gtk.Menu() + self.menu_bar.set_submenu(menu_root) + + for item in self.menu_visibility_spec: + menu_item = Gtk.CheckMenuItem(item[1]) + menu_root.append(menu_item) + menu_item.connect_object('activate', item[3], item) + item[0] = menu_item + menu_item.set_active(item[2]) + + menu_item = Gtk.SeparatorMenuItem() + menu_root.append(menu_item) + + menu_item = Gtk.MenuItem('Channel Visibility') + menu_root.append(menu_item) + + submenu_root = Gtk.Menu() + menu_item.set_submenu(submenu_root) + + menu_item = Gtk.SeparatorMenuItem() + menu_root.append(menu_item) + + menu_item = Gtk.MenuItem('Infopanel Options') + menu_root.append(menu_item) + + submenu_root = Gtk.Menu() + menu_item.set_submenu(submenu_root) + + menu_item = Gtk.SeparatorMenuItem() + menu_root.append(menu_item) + + menu_item = Gtk.MenuItem('Clear Bookmarks') + menu_root.append(menu_item) + menu_item.connect_object('activate', self.on_clear_bookmarks, None) + + self.menu_bar.show_all() + + def on_visibility_other(self, item): + ''' + Event handler for visibility menu actions. + ''' + state = item[0].get_active() + self.config_visibility['other'][item[4]] = state + # Resize to force repartioning of space if panel changed ... + if (item[4] == 'labels') and self.timeline_widget: + self.timeline_widget.set_label_visibility(state) + if (item[4] == 'legend') and self.timeline_widget: + self.timeline_widget.set_legend_visibility(state) + if item[4] == 'info': + self.resize() + self.parent.queue_draw() + + def on_clear_bookmarks(self, _unused): + ''' + Event handler for bookmark menu actions. + ''' + if self.timeline_widget: + self.timeline_widget.bookmarks = {} + self.parent.queue_draw() + + def load(self, trace_data=None): + ''' + Populate this view with a loaded data file. + + See the base class `View` for the documentation. + ''' + super().load(None) + + # Build the empty drawable skeleton for the view to use + style = Style.css_factory(self.css['tlv-tlw-labels']) + trace = DrawableTrace(style) + self.timeline_trace = trace + + if not trace_data: + return + + # TODO: Channel names need to be made dynamic + for tl in self.timeline_spec: + if not tl.frame: + channel = DrawableChannel( + tl.name, trace, tl.layer, tl.cull, tl.click) + else: + channel = DrawableChannelFrameMarkers( + tl.name, trace, tl.layer) + channel.label_visible = tl.label + + # Add scheduling channels + for name, stream in trace_data.streams.items(): + name = name.get_ui_name(name) + channel = trace.get_channel(name) + + for event in stream: + llabel = event.get_long_label() + slabel = event.get_short_label() + + stime = event.start_time + etime = event.start_time + event.duration + + workload = 'fbo' # TODO: Identify swapchain + style = self.timeline_styles.get_style(name, 0, workload) + + draw = TLSpec.get_box(name, stime, etime, style, + llabel, slabel, None) + channel.add_object(draw) + + # Compile the trace to improve performance + for channel in trace: + channel.compile() + + trace.ws_bounds.min_y = 0 + trace.ws_bounds.h = trace.ws_bounds.max_y + self.timeline_widget = TimelineWidget(self.parent, trace, self.css) + labels = self.config_visibility['other']['labels'] + self.timeline_widget.set_label_visibility(labels) + + legend_style = self.timeline_styles.get_style('Fragment', 0, 'window') + self.timeline_widget.add_legend_entry('EGL Window', legend_style) + legend_style = self.timeline_styles.get_style('Fragment', 0, 'fbo') + self.timeline_widget.add_legend_entry('Offscreen FBO', legend_style) + + style = Style.css_factory(self.css['tlv-info']) + self.info_widget = TimelineInfoWidget(self.timeline_widget, style) + + def activate(self): + ''' + Activate this view. + ''' + self.parent.add_child_menus([self.menu_bar]) + + def deactivate(self): + ''' + Deactivate this view. + ''' + self.parent.remove_child_menus([self.menu_bar]) + + def resize(self): + ''' + Process a resize event to scale the canvas appropriately. + + For this view the world-space mapping to canvas Y axis is a constant + size, irrespective of window size, so we have to clamp that here. + ''' + super().resize() + + # If we don't have a draw state yet then we have no canvas size + if self.canvas is None: + return + + # Calculate new widget sizes + if self.config_visibility["other"]["info"]: + pos = (0, 0) + dim = (self.width - self.INFO_PANEL_W, + self.height) + self.timeline_widget.update_cs(pos, dim) + + pos = (self.width - self.INFO_PANEL_W, 0) + dim = (self.INFO_PANEL_W, + self.height) + self.info_widget.update_cs(pos, dim) + + else: + pos = (0, 0) + dim = (self.width, self.height) + self.timeline_widget.update_cs(pos, dim) + + def on_key_press(self, key, mod): + ''' + Handle a key press event. + + See the base class `View` for the documentation. + ''' + if not self.timeline_widget: + return False + + # Provide basic keyboard navigation with arrow keys + if (key == 'Up') and (mod == ''): + width = self.width / 2 + return self.on_mouse_scroll('up', width, 50) + + if (key == 'Down') and (mod == ''): + width = self.width / 2 + return self.on_mouse_scroll('down', width, 50) + + if (key == 'Left') and (mod == ''): + drag = self.width / 15 + drag = FakeMouseDrag(drag) + return self.on_mouse_drag('middle', drag) + + if (key == 'Left') and (mod == 's'): + return self.timeline_widget.jump_one_frame(False) + + if (key == 'Right') and (mod == ''): + drag = -self.width / 15 + drag = FakeMouseDrag(drag) + return self.on_mouse_drag('middle', drag) + + if (key == 'Right') and (mod == 's'): + return self.timeline_widget.jump_one_frame(True) + + # No valid key was detected, so don't update any rendering + return False + + def on_mouse_scroll(self, scroll, x, y): + ''' + Handle a mouse scroll event. + + See the base class `View` for the documentation. + ''' + # Test widgets until we find one ... + if not self.timeline_widget.is_widget_active(x, y): + return False + + return self.timeline_widget.on_mouse_scroll(scroll, x, y) + + def on_mouse_single_click(self, button, x, y, mod): + ''' + Handle a mouse single click event. + + See the base class `View` for the documentation. + ''' + # Only handle left and right clicks + if button not in ['left', 'right']: + return False + + # Test widgets until we find one ... + if not self.timeline_widget.is_widget_active(x, y): + return False + + return self.timeline_widget.on_mouse_single_click(button, x, y, mod) + + def on_mouse_move(self, x, y): + ''' + Handle a mouse move event. + + See the base class `View` for the documentation. + ''' + # Test widgets until we find one ... + if self.timeline_widget.is_widget_active(x, y): + coord = self.timeline_widget.get_coord_str(x, y) + if coord is not None: + self.parent.status.log(coord) + + # Nothing here requires a canvas redraw + return False + + def on_mouse_drag(self, button, drag): + ''' + Handle a mouse drag event. + + See the base class `View` for the documentation. + ''' + # We only handle drag events for the middle mouse button in X axis. + # Bail early if nothing needs doing ... + + if button not in ['left', 'middle']: + return False + + # Is this drag inside the world-space widget + start_active = self.timeline_widget.is_widget_active(*drag.start) + end_active = self.timeline_widget.is_widget_active(*drag.end) + if start_active and end_active: + return self.timeline_widget.on_mouse_drag(button, drag) + + return False + + def on_mouse_drag_release(self, button, drag): + ''' + Handle a mouse drag and release event. + + See the base class `View` for the documentation. + ''' + # We only handle drag+release events for the left mouse button. + # Bail early if nothing needs doing ... + if button != 'left': + return False + + # Is this drag inside the world-space widget + start_active = self.timeline_widget.is_widget_active(*drag.start) + end_active = self.timeline_widget.is_widget_active(*drag.end) + if start_active and end_active: + return self.timeline_widget.on_mouse_drag_release(button, drag) + + return False + + def draw_channel_filter(self, channel): + ''' + Callback to determine if the given channel should be visible or not. + ''' + return self.config_visibility['channel'][channel.name] + + def draw_view(self, draw_pos, draw_dim): + ''' + Render this view based on the current render state. + + See the base class `View` for the documentation. + ''' + gc = super().draw_view(draw_pos, draw_dim) + + start_time = time.time() + + self.set_draw_clip(gc, draw_pos, draw_dim) + self.timeline_widget.draw(gc, self.draw_channel_filter) + + if self.config_visibility['other']['info']: + self.set_draw_clip(gc, draw_pos, draw_dim) + self.info_widget.draw(gc) + + end_time = time.time() + + if self.DEBUG_DRAW_TIME: + time_ms = (end_time - start_time) * 1000.0 + print(f'Rendering took {time_ms:0.2f} ms') diff --git a/lglpy/timeline/gui/view.py b/lglpy/timeline/gui/view.py new file mode 100644 index 0000000..e06d3b9 --- /dev/null +++ b/lglpy/timeline/gui/view.py @@ -0,0 +1,383 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +TODO +''' + +import gi +gi.require_version('Gtk', '3.0') +# pylint: disable=wrong-import-position +from gi.repository import Gtk + +from lglpy.timeline.drawable.drawable import * + + +class View: + ''' + The Mali Trace Viewer tool is based around a number of graphical + visualizations called Views, which are plugins inside a larger framework. + This class provides the base class for these plugins, defining the event + handling interface and the bare-essential rendering support. + + This class acts as a sake sink for events which are not needed in a + particular subclass, so subclasses only have to implement handlers for the + events they actually want to process. + + :CVariables: + MENU_NAME: str + The name to use in the Views drop-down menu. Should be replaced by + the subclass. + MENU_REQUIRES_DATA_FILE: bool + True if the menu is greyed out if there is no data file loaded. + + Attributes: + window: window + The parent window surface which we use to retrieve the canvas + surface from when it is available. This canvas must be available + via an attribute window.canvas during the first draw operation. + canvas: GTK canvas + The renderable surface we can use with Cairo rendering operations + config: ConfigSection + The configuration options loaded for this View from file. + width: int + The current width of the rendering canvas. This is automatically + updated on window resize. + height: int + The current height of the rendering canvas. This is automatically + updated on window resize. + menu_item: GTK.menu_item + The GTK menu related to this view. + css: CSSStylesheet + The CSS stylesheet instance for styling the GUI. + background_color: (float, float, float, float) + The view background color. + ''' + + MENU_NAME = "<>" + MENU_REQUIRES_DATA_FILE = True + + def __init__(self, window, css): + ''' + Create a new `View` inside the scope of the parent window and + rendering config options. + + Args: + window: window + The parent window surface which we use to retrieve the canvas + surface from when it is available. This canvas must be + available via an attribute window.canvas during the first + draw operation, but can be None if not valid at that time. + css: CSSStylesheet + The style settings to use when styling this View. + ''' + self.window = window + self.css = css + + # These do not exist at init time (no window surface yet) + self.canvas = None + self.width = None + self.height = None + self.menu_item = None + + self.background_color = css["mtv-core"]["fill-color"] + + def load(self, trace_data): + ''' + Load data into this view. + + Args: + trace_data: `MTVFileReader` + The parsed trace file. + ''' + del trace_data + if self.menu_item is not None: + self.menu_item.set_sensitive(True) + + def unload(self): + ''' + Load data into this view. + ''' + if (self.menu_item is not None) and self.MENU_REQUIRES_DATA_FILE: + self.menu_item.set_sensitive(False) + + def activate(self): + ''' + Turn this view into an activated view. This function does nothing in + the base class, but subclasses can use it to implement deferred + behavior which is only triggered when the view is activated, rather + than when it is initialized or data or loaded. + ''' + + def deactivate(self): + ''' + Turn this view into an deactivated view. This function does nothing in + the base class, but subclasses can use it to implement behavior which + is triggered when the user switches away from this view, such as + discarding transient caches in order to save memory + ''' + + def get_view_menu_item(self): + ''' + Return the menu for this. This will return a dummy menu if no specific + menu is specified in the subclass. + ''' + if self.menu_item is None: + self.menu_item = Gtk.MenuItem(self.MENU_NAME) + if self.MENU_REQUIRES_DATA_FILE: + self.menu_item.set_sensitive(False) + self.menu_item.show() + + return self.menu_item + + def resize(self): + ''' + Handle a canvas resize event if we have a window surface active. + ''' + if self.canvas is not None: + size = self.canvas.get_allocation() + self.width = size.width + self.height = size.height + + def get_cairo_context(self): + ''' + Populate the necessary draw credentials of this drawing operation. + Most of the GUI is statically configured, so only the Cairo rendering + context needs regenerating each time. + + Returns: + Returns a Cairo rendering context which will remain valid for the + duration of this draw operation. + ''' + # If we do not have cached state then cache it + if self.canvas is None: + + # Cache the window canvas state + self.canvas = self.window.canvas + + # This is possibly the first time we have a surface so call resize + # to force dynamic widgets to get the correct canvas-space size + self.resize() + + # Always return the new cairo context + return self.canvas.get_property('window').cairo_create() + + def set_draw_clip(self, gc, draw_pos, draw_dim): + ''' + Clip the given rendering context to an axis-aligned rectangular region. + + Args: + gc: Cairo graphics context. + draw_pos: The draw position (min x and y coordinate) + draw_dim: The draw size (width and height) + ''' + gc.reset_clip() + gc.rectangle(draw_pos[0], draw_pos[1], draw_dim[0], draw_dim[1]) + gc.clip() + + def draw_view(self, draw_pos, draw_dim): + ''' + Render this view within the given clip region. + + Args: + draw_pos: The draw position (min x and y coordinate) + draw_dim: The draw size (width and height) + + Returns: + Returns a Cairo rendering context which will remain valid for the + duration of this draw operation. + ''' + gc = self.get_cairo_context() + + self.set_draw_clip(gc, draw_pos, draw_dim) + + # Fill the background with a clear color + gc.rectangle(0, 0, self.width, self.height) + gc.set_source_rgba(*self.background_color) + gc.fill() + + return gc + + # Below this point all functions are defaults which must be subclassed but + # which define the API to use. To avoid lots of messing about with Pylint + # we just globally disable the checkers. + + # pylint: disable=unused-argument + + def on_key_press(self, key, mod): + ''' + Handle a key press event. This is a stub function, a subclass + must provide the detailed handling methods. + + Args: + key: str + The ASCII character for the key press which has been detected. + Note that this is canonicalized to be lower case, so modifiers + which GTK normally pre-applies, like shift, are reverted before + the call gets this far. + mod: str + A modifier string listing the modifiers which are applied. + Currently this may contain zero or more of "a", "c", or "s" + (in that order). + + Returns: + Returns True if this function triggered some behavior which + needs a redraw, False otherwise. + ''' + return False + + def on_mouse_single_click(self, button, x, y, mod): + ''' + Handle a mouse single click event. This is a stub function, a subclass + must provide the detailed handling methods. + + Args: + button: str + String indicating which button was clicked. Must be "left", + "right", or "middle". Other mice buttons are are not supported! + x: int + X coordinate of the mouse pointer in canvas-space. + y: int + Y coordinate of the mouse pointer in canvas-space. + mod: str + A modifier string listing the modifiers which are applied. + Currently this may contain zero or more of "a", "c", or "s" + (in that order).. + + Returns: + Returns True if this function triggered some behavior which + needs a redraw, False otherwise. + ''' + return False + + def on_mouse_double_click(self, button, x, y, mod): + ''' + Handle a mouse single click event. This is a stub function, a subclass + must provide the detailed handling methods. + + Args: + button: str + String indicating which button was clicked. Must be "left", + "right", or "middle". Other mice buttons are are not supported! + x: int + X coordinate of the mouse pointer in canvas-space. + y: int + Y coordinate of the mouse pointer in canvas-space. + mod: str + A modifier string listing the modifiers which are applied. + Currently this may contain zero or more of "a", "c", or "s" + (in that order). + + Returns: + Returns True if this function triggered some behavior which + needs a redraw, False otherwise. + ''' + return False + + def on_mouse_drag(self, button, drag): + ''' + Handle a mouse drag event. This is a stub function, a subclass + must provide the detailed handling methods. + + Args: + button: str + String indicating which button was clicked. Must be "left", + "right", or "middle". Other mice buttons are are not supported! + drag: MouseDrag` + The composite state of this mouse drag event. + + Returns: + Returns True if this function triggered some behavior which needs + a redraw, False otherwise. + ''' + return False + + def on_mouse_drag_release(self, button, drag): + ''' + Handle a mouse drag release event. This is a stub function, a subclass + must provide the detailed handling methods. + + Args: + button: str + String indicating which button was clicked. Must be "left", + "right", or "middle". Other mice buttons are are not supported! + drag: MouseDrag` + The composite state of this mouse drag event. + + Returns: + Returns True if this function triggered some behavior which + needs a redraw, False otherwise. + ''' + return False + + def on_mouse_move(self, x, y): + ''' + Handle a mouse move event. This is a stub function, a subclass must + provide the detailed handling methods. + + Args: + x: int + Mouse x coordinate in screen space. + y: int + Mouse y coordinate in screen space. + + Returns: + Returns True if this function triggered some behavior which + needs a redraw, False otherwise. + ''' + return False + + def on_mouse_release(self, button): + ''' + Handle a mouse single click event. This is a stub function, a subclass + must provide the detailed handling methods. + + Args: + button: str + String indicating which button was released. Must be "left", + "right", or "middle". Other mice buttons are are not supported! + + Returns: + Returns True if this function triggered some behavior which + needs a redraw, False otherwise. + ''' + return False + + def on_mouse_scroll(self, scroll, x, y): + ''' + Handle a mouse scroll event. This is a stub function, a subclass must + provide the detailed handling methods. + + Args: + scroll: str + String indicating direction of the scroll. Must be "up" or + "down"; side scrolling mice are not supported! + x: int + X coordinate of the mouse pointer in canvas-space. + y: int + Y coordinate of the mouse pointer in canvas-space. + + Returns: + Returns True if this function triggered some behavior which needs + a redraw, False otherwise. + ''' + return False diff --git a/lglpy/timeline/gui/window.py b/lglpy/timeline/gui/window.py new file mode 100644 index 0000000..4455b3c --- /dev/null +++ b/lglpy/timeline/gui/window.py @@ -0,0 +1,712 @@ +# SPDX-License-Identifier: MIT +# ----------------------------------------------------------------------------- +# Copyright (c) 2024-2025 Arm Limited +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the 'Software'), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ----------------------------------------------------------------------------- +''' +TODO +''' + +import os +import sys +import time +import traceback + +import gi +gi.require_version('Gtk', '3.0') + +# pylint: disable=wrong-import-position +from gi.repository import Gtk, Gdk, GObject + +from lglpy.timeline.data.raw_trace import RawTrace +from lglpy.timeline.data.processed_trace import GPUTrace + +from lglpy.timeline.drawable.mouse_button import MouseButton +from lglpy.timeline.drawable.css import CSSStylesheet +from lglpy.timeline.drawable.timed_statusbar import TimedStatusbar +from lglpy.timeline.drawable.filechooser_dialog import get_open_filechoice + +from lglpy.timeline.gui.default.view import DefaultView +from lglpy.timeline.gui.timeline.view import TimelineView + + +class Window: + ''' + The Window is the main framework for the Mali trace viewer, providing the + root GTK window, event, and input handling functionality. This class + provides no visualization functionality itself; specific logic for + visualizing data from a trace is delegated to a number of `View` instances + which are each designed to provide a specific interpretation of the data. + ''' + + DEFAULT_APP_TITLE = 'Arm GPU Trace Viewer' + DEFAULT_VIEW = 'Homescreen' + + RAW_MOUSE_EVENT = None + + @classmethod + def get_raw_mouse_event(cls): + ''' + Get the raw mouse event. + + TODO: This is a nasty hack relying on Python being single threaded, and + this class being a singleton. + ''' + return cls.RAW_MOUSE_EVENT + + @classmethod + def set_raw_mouse_event(cls, event): + ''' + Set the raw mouse event. + + TODO: This is a nasty hack relying on Python being single threaded, and + this class being a singleton. + ''' + cls.RAW_MOUSE_EVENT = event + + def queue_draw(self): + ''' + Force a global redraw. + + TODO: Move, not a global. + ''' + self.canvas.queue_draw() + + def __init__(self, style, trace_file=None, metadata_file=None): + ''' + ''' + # Load the style config + source_dir = os.path.dirname(__file__) + css_path = os.path.join(source_dir, 'resources', f'{style}.css') + self.stylesheet = CSSStylesheet(css_path) + + # Remember the file we have open + self.loaded_file_path = None + self.trace_data = None + + # Open a window ... + self.window = Gtk.Window() + self.window.set_title(self.DEFAULT_APP_TITLE) + self.window.connect('destroy', Gtk.main_quit) + self.window.set_size_request(1024, 500) + self.window.set_default_size(1600, 500) + + # These get populated by the size callback + self.width = None + self.height = None + + self.canvas = Gtk.DrawingArea() + self.canvas.show() + + # ---- ----- ----- ----- ----- + # Build the menu + self.menubar = Gtk.MenuBar() + self.menubar.show() + + # File menu: create the menu items + file_menu_root = Gtk.MenuItem('File') + file_menu_root.show() + self.menubar.append(file_menu_root) + + file_menu = Gtk.Menu() + file_menu_root.set_submenu(file_menu) + + file_menu_item = Gtk.MenuItem('Open file') + file_menu.append(file_menu_item) + file_menu_item.show() + file_menu_item.connect_object('activate', self.on_menu_file_open, '') + self.file_menu_open = file_menu_item + + file_menu_item = Gtk.MenuItem('Close file') + file_menu.append(file_menu_item) + file_menu_item.show() + file_menu_item.connect_object('activate', self.on_menu_file_close, '') + self.file_menu_close = file_menu_item + + file_menu_item = Gtk.MenuItem('Exit') + file_menu.append(file_menu_item) + file_menu_item.show() + file_menu_item.connect_object('activate', self.on_menu_file_exit, '') + + self.menus_needing_file = [ + self.file_menu_close + ] + + for menu in self.menus_needing_file: + menu.set_sensitive(False) + + # Views menu: create the menu items + # Load the view plugins + views_list = [ + DefaultView, + TimelineView + ] + + self.loaded_views = {} + + views_menu = Gtk.Menu() + + views_menu_root = Gtk.MenuItem('Views') + views_menu_root.set_submenu(views_menu) + views_menu_root.show() + self.menubar.append(views_menu_root) + + for views_class in views_list: + name = views_class.MENU_NAME + assert name not in self.loaded_views + view = views_class(self, self.stylesheet) + self.loaded_views[name] = view + view_menu = view.get_view_menu_item() + views_menu.append(view_menu) + view_menu.connect_object('activate', self.on_menu_view, name) + + # Select the starting view based on default + self.view = None + self.on_menu_view(self.DEFAULT_VIEW) + + # ---- ----- ----- ----- ----- + self.status = TimedStatusbar() + self.status.log('Welcome to Arm GPU Trace Viewer!', 5000) + self.status.show() + + # ---- ----- ----- ----- ----- + # Build a vbox to contain the menu + self.vbox = Gtk.VBox(False, 0) + self.window.add(self.vbox) + self.vbox.pack_start(self.menubar, False, False, 0) + self.vbox.pack_start(self.canvas, True, True, 0) + self.vbox.pack_start(self.status, False, False, 0) + self.vbox.show() + + # ---- ----- ----- ----- ----- + # Connect signal handlers + self.canvas.connect('size-allocate', self.on_window_size) + self.canvas.connect('draw', self.on_window_draw) + self.window.connect('check-resize', self.on_window_resize) + + # Finally hook up the events we need + self.window.connect('destroy', self.on_menu_file_exit) + self.window.connect('key_press_event', self.on_key_press) + + # Note that POINTER_MOTION_MASK generates a lot of events, depending + # on use requirements adding POINTER_MOTION_HINT_MASK may be more + # suitable which should reduce some overhead ... + self.canvas.add_events(Gdk.EventMask.POINTER_MOTION_MASK) + self.canvas.add_events(Gdk.EventMask.POINTER_MOTION_HINT_MASK) + self.canvas.add_events(Gdk.EventMask.BUTTON_PRESS_MASK) + self.canvas.add_events(Gdk.EventMask.BUTTON_RELEASE_MASK) + self.canvas.add_events(Gdk.EventMask.SCROLL_MASK) + + self.mouse_buttons = {} + self.mouse_buttons['left'] = MouseButton('left') + self.mouse_buttons['middle'] = MouseButton('middle') + self.mouse_buttons['right'] = MouseButton('right') + + self.canvas.connect('motion-notify-event', self.on_mouse_move) + self.canvas.connect('button_press_event', self.on_mouse_press) + self.canvas.connect('button_release_event', self.on_mouse_release) + self.canvas.connect('scroll-event', self.on_mouse_scroll) + + # If needed, queue a file load to start after a short delay to give + # time for the window to appear on screen + if trace_file: + GObject.timeout_add( + 500, lambda: self.load_file(trace_file, metadata_file)) + + # ---- ----- ----- ----- ----- + # Start rendering + self.window.show() + self.window.present() + Gtk.main() + + def on_menu_file_open(self, menu): + ''' + Handle a File->Open selection event from the menu bar. + + Args: + menu: str + The menu name to load + ''' + file_name = get_open_filechoice( + self.window, 'Trace files', ('*.perfetto',)) + + if None is file_name: + self.status.log('Open cancelled (user)') + return + + if file_name == self.loaded_file_path: + self.status.log('Open skipped (same file)') + return + + # Deactivate all the plugins + self.view.deactivate() + for view in self.loaded_views.values(): + view.unload() + self.view = None + self.on_menu_view(self.DEFAULT_VIEW) + + self.loaded_file_path = None + self.trace_data = None + + self.load_file(file_name) + + def on_menu_file_close(self, menu): + ''' + Handle a File->Close selection event from the menu bar. + + Args: + menu: str + The menu name to load + ''' + # Deactivate all the plugins + self.view.deactivate() + for view in self.loaded_views.values(): + view.unload() + + self.view = None + + self.on_menu_view(self.DEFAULT_VIEW) + + self.loaded_file_path = None + self.trace_data = None + + # Make file-based options non-sensitive + for menu in self.menus_needing_file: + menu.set_sensitive(False) + + self.status.log('File closed') + + def on_menu_file_exit(self, menu): + ''' + Handle a File->Exit selection event from the menu bar. + + Args: + menu: str + The menu name to load + ''' + ''' + if self.fileLoaded: + self.on_MenuFileClose(menu) + ''' + Gtk.main_quit() + + def on_menu_view(self, menu): + ''' + Handle a View selection event from the menu bar. + + Args: + menu: str + The menu name to load + ''' + # Don't do anything if the old view is the new view ... + if self.view == self.loaded_views[menu]: + return + + # Deactivate the old one, if it was active + if self.view: + self.view.deactivate() + + # Activate the new one ... + self.view = self.loaded_views[menu] + self.view.activate() + self.view.resize() + self.canvas.queue_draw() + + def load_file(self, trace_file, metadata_file=None): + ''' + Handle the underlying data processing related to opening a file. + + Args: + trace_file: The perfetto trace file. + metadata_file: The layer metadata file. + ''' + assert self.loaded_file_path is None + assert self.trace_data is None + + # Derive the metadata file if we can + if not metadata_file: + postfix = '.perfetto' + if trace_file.endswith(postfix): + metadata_file = f'{trace_file[:-len(postfix)]}.gputl' + + if not os.path.exists(metadata_file): + metadata_file = None + + # Notify the plugin views - this may take some time so defer it; change + # the cursor so the user knows that we're thinking ... + watch_cursor = Gdk.Cursor(Gdk.CursorType.WATCH) + self.window.get_root_window().set_cursor(watch_cursor) + + self.status.log('File loading. Please wait ...', None) + + # Notify the plugin views - this may take some time so defer it; change + # the cursor so the user knows that we're thinking ... + watch_cursor = Gdk.Cursor(Gdk.CursorType.WATCH) + self.window.get_root_window().set_cursor(watch_cursor) + + def deferred_load(): + ''' + Deferred load function to allow cursor to change ... + ''' + start_time = time.time() + + # Parse the raw data file + try: + trace_data = RawTrace(trace_file, metadata_file) + self.trace_data = GPUTrace(trace_data) + + self.loaded_file_path = trace_file + except Exception: + self.status.log('Open cancelled (failed to load)') + traceback.print_exc() + return + + parse_time = time.time() - start_time + + for view in self.loaded_views.values(): + view.load(self.trace_data) + + # Reactivate the current view + self.view.activate() + + # Make file-based options which require data sensitive + for menu in self.menus_needing_file: + menu.set_sensitive(True) + + build_time = time.time() - parse_time - start_time + msg_parse = f'{parse_time:1.2f} s to parse' + msg_build = f'{build_time:1.2f} s to build views' + self.status.log(f'File opened ({msg_parse} / {msg_build})') + + # Reset the cursor back to something normal ... + self.window.get_root_window().set_cursor(None) + + # Queue the deferred load when GTK has some time (this gives the mouse + # cursor time to change ... + GObject.idle_add(deferred_load) + + def add_child_menus(self, child_menus): + ''' + Add the activating view's menus to the menu bar. + + Args: + child_menus: List of menus to add. + ''' + for menu in child_menus: + self.menubar.append(menu) + + def remove_child_menus(self, child_menus): + ''' + Remove the deactivating view's menus from the menu bar. + + Args: + child_menus: List of menus to remove. + ''' + for menu in child_menus: + self.menubar.remove(menu) + + @staticmethod + def decode_key_modifiers(event): + ''' + Utility method to decode keyboard modifier keys (shift, control, alt) + for the current event. + + Args: + event: Gtk.Event + The action event from GTK + + Returns: + Returns a string containing the characters 'a', 'c', and/or 's' + if the relevant modifier is present. Modifier characters are + always present in the string in alphabetical order. + ''' + # Linux doesn't have a default mapping for Right Alt / AltGR + mask_alt2 = 0 + if sys.platform == 'win32': + mask_alt2 = Gdk.ModifierType.MOD2_MASK + + mod = [] + if (event.state & Gdk.ModifierType.MOD1_MASK) or \ + (event.state & mask_alt2): + mod.append('a') + + if event.state & Gdk.ModifierType.CONTROL_MASK: + mod.append('c') + + if event.state & Gdk.ModifierType.SHIFT_MASK: + mod.append('s') + + return ''.join(mod) + + @classmethod + def decode_mouse_event(cls, event): + ''' + Utility method to decode a mouse event into parameters. + + Args: + event: Gtk.Event + The action event from GTK + + Returns: + Returns a four element tuple containing the following elements: + + ( x-coord, y-coord, button, key-modifier) + + The button is one of 'left', 'right', or 'middle' (or None if + the button is not supported). The key modifier is an 'acs' string + containing the alt-control-shift modifier state. + ''' + # Decode the mouse button + if event.button == 1: + click_button = 'left' + + elif event.button == 2: + click_button = 'middle' + + elif event.button == 3: + click_button = 'right' + + else: + click_button = None + + # Decode the alt/ctrl/shift key states + key_modifier = cls.decode_key_modifiers(event) + + return (event.x, event.y, click_button, key_modifier) + + def on_key_press(self, _unused, event): + ''' + Handle a key press event on the top level window. + + The key press request is canonicalized before it is forwarded to the + currently active `View` plugin for processing. + + Args: + _unused : N/A + Unused; only provided for API compatibility for GTK callback + event: Gtk.Event + The action event from GTK + ''' + key_name = Gdk.keyval_name(event.keyval) + + # Filter out modifiers - we use these for other things so cannot use + # them as normal key presses. Stop them before they hit the plug-in ... + key_prefixes = ['Shift', 'Control', 'Alt', 'Meta'] + for prefix in key_prefixes: + if key_name.startswith(prefix): + return False + + # Decode the alt/ctrl/shift key states + mod = self.decode_key_modifiers(event) + + # Revert shift modifier applied by GTK so the handler doesn't have to + # worry about handling D and d separately - shift state is provided + # via the modifiers list above ... + if 1 == len(key_name): + key_name = key_name.lower() + + change = self.view.on_key_press(key_name, mod) + if change: + self.canvas.queue_draw() + + return True + + def on_mouse_press(self, _unused, event): + ''' + Handle a mouse button press event on the top level window. + + The key press request is canonicalized before it is forwarded to the + currently active `View` plugin for processing. + + Args: + _unused : N/A + Unused; only provided for API compatibility for GTK callback + event: Gtk.Event + The action event from GTK + ''' + self.set_raw_mouse_event(event) + + # Decode the common mouse event properties + x, y, click, mod = self.decode_mouse_event(event) + if click is None: + return False + + # Decode the mouse click type + # pylint: disable=protected-access + if event.type == Gdk.EventType.BUTTON_PRESS: + click_type = 'single' + elif event.type == Gdk.EventType._2BUTTON_PRESS: + click_type = 'double' + else: + return False + # pylint: enable=protected-access + + # Update drag state + self.mouse_buttons[click].mouse_press(x, y, mod) + + if click_type == 'single': + change = self.view.on_mouse_single_click(click, x, y, mod) + else: + change = self.view.on_mouse_double_click(click, x, y, mod) + + if change: + self.canvas.queue_draw() + + return True + + def on_mouse_release(self, _unused, event): + ''' + Handle a mouse button release event on the top level window. + + The key press request is canonicalized before it is forwarded to the + currently active `View` plugin for processing. + + Args: + _unused : N/A + Unused; only provided for API compatibility for GTK callback + event: Gtk.Event + The action event from GTK + ''' + self.set_raw_mouse_event(event) + + # Decode the common mouse event properties + x, y, click = self.decode_mouse_event(event)[0:3] + if click is None: + return False + + button = self.mouse_buttons[click] + + # Update drag state + button.mouse_release(x, y) + + # Check for drag box state, and handle if needed + change1 = False + if button.has_drag_complete(): + change1 = self.view.on_mouse_drag_release(click, button.drag) + button.clear_drag() + + change2 = self.view.on_mouse_release(click) + + if change1 or change2: + self.canvas.queue_draw() + + return True + + def on_mouse_move(self, _unused, event): + ''' + Handle a mouse move event on the top level window. + + The underlying plugin code does not support arbitrary mouse move + events, only click-and-drag style user interactions. This code turns + the move into a delta encoding for click-and-drag before passing this + canonical form to the currently active `View`. + + Movements which occur outside of a drag, or movements which do not + trigger a movement since the last update are filtered out and do not + make it to the plugin. + + Args: + _unused : N/A + Unused; only provided for API compatibility for GTK callback + event: Gtk.Event + The action event from GTK + ''' + self.set_raw_mouse_event(event) + + x, y = (event.x, event.y) + cv = self.view + + # Handle the raw mouse move event + change = cv.on_mouse_move(x, y) + + # Handle the parsed mouse drag event + for click, button in self.mouse_buttons.items(): + if button.is_down: + break + else: + return False + + button = self.mouse_buttons[click] + button.mouse_move(x, y) + if button.has_drag_increment(): + change = change or cv.on_mouse_drag(click, button.drag) + + # If something changed then queue a redraw + if change: + self.canvas.queue_draw() + + # Consume the event + return True + + def on_mouse_scroll(self, _unused, event): + ''' + Handle a mouse wheel scroll event on the top level window. + + We only support up and down scrolls, so no fancy side-scrolling mice + hardware is supported. + + Args: + _unused : N/A + Unused; only provided for API compatibility for GTK callback + event: Gtk.Event + The action event from GTK + ''' + self.set_raw_mouse_event(event) + + if event.direction == Gdk.ScrollDirection.UP: + scroll = 'up' + elif event.direction == Gdk.ScrollDirection.DOWN: + scroll = 'down' + else: + # We don't handle side scrolling mice wheels ... + return False + + change = self.view.on_mouse_scroll(scroll, event.x, event.y) + if change: + self.canvas.queue_draw() + + return True + + def on_window_size(self, _unused, allocation): + ''' + Handle the initial window allocation size. + ''' + self.width = allocation.width + self.height = allocation.height + + def on_window_resize(self, window): + ''' + Handle a window resize event. + + Args: + _unused : N/A + Unused; only provided for API compatibility for GTK callback + ''' + self.view.resize() + self.canvas.queue_draw() + + def on_window_draw(self, _unused, _unused2): + ''' + Handle a window redraw event. + ''' + # TODO: Possible to minimize redraw size with GTK3? + redraw_pos = (0, 0) + redraw_dim = (self.width, self.height) + self.view.draw_view(redraw_pos, redraw_dim) diff --git a/lglpy/timeline/protos/__init__.py b/lglpy/timeline/protos/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/__init__.py b/lglpy/timeline/protos/perfetto/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/bigtrace/__init__.py b/lglpy/timeline/protos/perfetto/bigtrace/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/bigtrace/orchestrator_pb2.py b/lglpy/timeline/protos/perfetto/bigtrace/orchestrator_pb2.py new file mode 100644 index 0000000..6cae6a6 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/bigtrace/orchestrator_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/bigtrace/orchestrator.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/bigtrace/orchestrator.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace_processor import trace_processor_pb2 as protos_dot_perfetto_dot_trace__processor_dot_trace__processor__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+protos/perfetto/bigtrace/orchestrator.proto\x12\x0fperfetto.protos\x1a\x35protos/perfetto/trace_processor/trace_processor.proto\"I\n\x11\x42igtraceQueryArgs\x12\x0e\n\x06traces\x18\x01 \x03(\t\x12\x16\n\tsql_query\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0c\n\n_sql_query\"c\n\x15\x42igtraceQueryResponse\x12\x12\n\x05trace\x18\x01 \x01(\tH\x00\x88\x01\x01\x12,\n\x06result\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.QueryResultB\x08\n\x06_trace2o\n\x14\x42igtraceOrchestrator\x12W\n\x05Query\x12\".perfetto.protos.BigtraceQueryArgs\x1a&.perfetto.protos.BigtraceQueryResponse\"\x00\x30\x01\x62\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.bigtrace.orchestrator_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_BIGTRACEQUERYARGS']._serialized_start=119 + _globals['_BIGTRACEQUERYARGS']._serialized_end=192 + _globals['_BIGTRACEQUERYRESPONSE']._serialized_start=194 + _globals['_BIGTRACEQUERYRESPONSE']._serialized_end=293 + _globals['_BIGTRACEORCHESTRATOR']._serialized_start=295 + _globals['_BIGTRACEORCHESTRATOR']._serialized_end=406 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/bigtrace/worker_pb2.py b/lglpy/timeline/protos/perfetto/bigtrace/worker_pb2.py new file mode 100644 index 0000000..746bbd8 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/bigtrace/worker_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/bigtrace/worker.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/bigtrace/worker.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace_processor import trace_processor_pb2 as protos_dot_perfetto_dot_trace__processor_dot_trace__processor__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%protos/perfetto/bigtrace/worker.proto\x12\x0fperfetto.protos\x1a\x35protos/perfetto/trace_processor/trace_processor.proto\"\\\n\x16\x42igtraceQueryTraceArgs\x12\x12\n\x05trace\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tsql_query\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_traceB\x0c\n\n_sql_query\"h\n\x1a\x42igtraceQueryTraceResponse\x12\x12\n\x05trace\x18\x01 \x01(\tH\x00\x88\x01\x01\x12,\n\x06result\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.QueryResultB\x08\n\x06_trace2t\n\x0e\x42igtraceWorker\x12\x62\n\nQueryTrace\x12\'.perfetto.protos.BigtraceQueryTraceArgs\x1a+.perfetto.protos.BigtraceQueryTraceResponseb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.bigtrace.worker_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_BIGTRACEQUERYTRACEARGS']._serialized_start=113 + _globals['_BIGTRACEQUERYTRACEARGS']._serialized_end=205 + _globals['_BIGTRACEQUERYTRACERESPONSE']._serialized_start=207 + _globals['_BIGTRACEQUERYTRACERESPONSE']._serialized_end=311 + _globals['_BIGTRACEWORKER']._serialized_start=313 + _globals['_BIGTRACEWORKER']._serialized_end=429 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/__init__.py b/lglpy/timeline/protos/perfetto/common/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/common/android_energy_consumer_descriptor_pb2.py b/lglpy/timeline/protos/perfetto/common/android_energy_consumer_descriptor_pb2.py new file mode 100644 index 0000000..86e948c --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/android_energy_consumer_descriptor_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/android_energy_consumer_descriptor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/android_energy_consumer_descriptor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?protos/perfetto/common/android_energy_consumer_descriptor.proto\x12\x0fperfetto.protos\"`\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.android_energy_consumer_descriptor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDENERGYCONSUMER']._serialized_start=84 + _globals['_ANDROIDENERGYCONSUMER']._serialized_end=180 + _globals['_ANDROIDENERGYCONSUMERDESCRIPTOR']._serialized_start=182 + _globals['_ANDROIDENERGYCONSUMERDESCRIPTOR']._serialized_end=281 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/android_log_constants_pb2.py b/lglpy/timeline/protos/perfetto/common/android_log_constants_pb2.py new file mode 100644 index 0000000..8708e14 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/android_log_constants_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/android_log_constants.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/android_log_constants.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2protos/perfetto/common/android_log_constants.proto\x12\x0fperfetto.protos*\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.android_log_constants_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDLOGID']._serialized_start=72 + _globals['_ANDROIDLOGID']._serialized_end=214 + _globals['_ANDROIDLOGPRIORITY']._serialized_start=217 + _globals['_ANDROIDLOGPRIORITY']._serialized_end=372 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/builtin_clock_pb2.py b/lglpy/timeline/protos/perfetto/common/builtin_clock_pb2.py new file mode 100644 index 0000000..d0d3b32 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/builtin_clock_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/builtin_clock.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/builtin_clock.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/common/builtin_clock.proto\x12\x0fperfetto.protos*\xa3\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\x18\n\x14\x42UILTIN_CLOCK_MAX_ID\x10?\"\x04\x08\x07\x10\x07\"\x04\x08\x08\x10\x08') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.builtin_clock_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_BUILTINCLOCK']._serialized_start=64 + _globals['_BUILTINCLOCK']._serialized_end=355 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/commit_data_request_pb2.py b/lglpy/timeline/protos/perfetto/common/commit_data_request_pb2.py new file mode 100644 index 0000000..f0833f2 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/commit_data_request_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/commit_data_request.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/commit_data_request.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/common/commit_data_request.proto\x12\x0fperfetto.protos\"\xe8\x03\n\x11\x43ommitDataRequest\x12G\n\x0e\x63hunks_to_move\x18\x01 \x03(\x0b\x32/.perfetto.protos.CommitDataRequest.ChunksToMove\x12H\n\x0f\x63hunks_to_patch\x18\x02 \x03(\x0b\x32/.perfetto.protos.CommitDataRequest.ChunkToPatch\x12\x18\n\x10\x66lush_request_id\x18\x03 \x01(\x04\x1aP\n\x0c\x43hunksToMove\x12\x0c\n\x04page\x18\x01 \x01(\r\x12\r\n\x05\x63hunk\x18\x02 \x01(\r\x12\x15\n\rtarget_buffer\x18\x03 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x1a\xd3\x01\n\x0c\x43hunkToPatch\x12\x15\n\rtarget_buffer\x18\x01 \x01(\r\x12\x11\n\twriter_id\x18\x02 \x01(\r\x12\x10\n\x08\x63hunk_id\x18\x03 \x01(\r\x12\x46\n\x07patches\x18\x04 \x03(\x0b\x32\x35.perfetto.protos.CommitDataRequest.ChunkToPatch.Patch\x12\x18\n\x10has_more_patches\x18\x05 \x01(\x08\x1a%\n\x05Patch\x12\x0e\n\x06offset\x18\x01 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.commit_data_request_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_COMMITDATAREQUEST']._serialized_start=70 + _globals['_COMMITDATAREQUEST']._serialized_end=558 + _globals['_COMMITDATAREQUEST_CHUNKSTOMOVE']._serialized_start=264 + _globals['_COMMITDATAREQUEST_CHUNKSTOMOVE']._serialized_end=344 + _globals['_COMMITDATAREQUEST_CHUNKTOPATCH']._serialized_start=347 + _globals['_COMMITDATAREQUEST_CHUNKTOPATCH']._serialized_end=558 + _globals['_COMMITDATAREQUEST_CHUNKTOPATCH_PATCH']._serialized_start=521 + _globals['_COMMITDATAREQUEST_CHUNKTOPATCH_PATCH']._serialized_end=558 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/data_source_descriptor_pb2.py b/lglpy/timeline/protos/perfetto/common/data_source_descriptor_pb2.py new file mode 100644 index 0000000..e92d416 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/data_source_descriptor_pb2.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/data_source_descriptor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/data_source_descriptor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import ftrace_descriptor_pb2 as protos_dot_perfetto_dot_common_dot_ftrace__descriptor__pb2 +from protos.perfetto.common import gpu_counter_descriptor_pb2 as protos_dot_perfetto_dot_common_dot_gpu__counter__descriptor__pb2 +from protos.perfetto.common import track_event_descriptor_pb2 as protos_dot_perfetto_dot_common_dot_track__event__descriptor__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/common/data_source_descriptor.proto\x12\x0fperfetto.protos\x1a.protos/perfetto/common/ftrace_descriptor.proto\x1a\x33protos/perfetto/common/gpu_counter_descriptor.proto\x1a\x33protos/perfetto/common/track_event_descriptor.proto\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.data_source_descriptor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['gpu_counter_descriptor']._loaded_options = None + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['gpu_counter_descriptor']._serialized_options = b'(\001' + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['track_event_descriptor']._loaded_options = None + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['track_event_descriptor']._serialized_options = b'(\001' + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['ftrace_descriptor']._loaded_options = None + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['ftrace_descriptor']._serialized_options = b'(\001' + _globals['_DATASOURCEDESCRIPTOR']._serialized_start=227 + _globals['_DATASOURCEDESCRIPTOR']._serialized_end=609 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/descriptor_pb2.py b/lglpy/timeline/protos/perfetto/common/descriptor_pb2.py new file mode 100644 index 0000000..8d7aa89 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/descriptor_pb2.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/descriptor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/descriptor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/common/descriptor.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.descriptor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_FILEDESCRIPTORSET']._serialized_start=60 + _globals['_FILEDESCRIPTORSET']._serialized_end=131 + _globals['_FILEDESCRIPTORPROTO']._serialized_start=134 + _globals['_FILEDESCRIPTORPROTO']._serialized_end=453 + _globals['_DESCRIPTORPROTO']._serialized_start=456 + _globals['_DESCRIPTORPROTO']._serialized_end=922 + _globals['_DESCRIPTORPROTO_RESERVEDRANGE']._serialized_start=867 + _globals['_DESCRIPTORPROTO_RESERVEDRANGE']._serialized_end=910 + _globals['_UNINTERPRETEDOPTION']._serialized_start=925 + _globals['_UNINTERPRETEDOPTION']._serialized_end=1211 + _globals['_UNINTERPRETEDOPTION_NAMEPART']._serialized_start=1160 + _globals['_UNINTERPRETEDOPTION_NAMEPART']._serialized_end=1211 + _globals['_FIELDOPTIONS']._serialized_start=1213 + _globals['_FIELDOPTIONS']._serialized_end=1312 + _globals['_FIELDDESCRIPTORPROTO']._serialized_start=1315 + _globals['_FIELDDESCRIPTORPROTO']._serialized_end=2002 + _globals['_FIELDDESCRIPTORPROTO_TYPE']._serialized_start=1617 + _globals['_FIELDDESCRIPTORPROTO_TYPE']._serialized_end=1927 + _globals['_FIELDDESCRIPTORPROTO_LABEL']._serialized_start=1929 + _globals['_FIELDDESCRIPTORPROTO_LABEL']._serialized_end=1996 + _globals['_ONEOFDESCRIPTORPROTO']._serialized_start=2004 + _globals['_ONEOFDESCRIPTORPROTO']._serialized_end=2088 + _globals['_ENUMDESCRIPTORPROTO']._serialized_start=2091 + _globals['_ENUMDESCRIPTORPROTO']._serialized_end=2219 + _globals['_ENUMVALUEDESCRIPTORPROTO']._serialized_start=2221 + _globals['_ENUMVALUEDESCRIPTORPROTO']._serialized_end=2283 + _globals['_ONEOFOPTIONS']._serialized_start=2285 + _globals['_ONEOFOPTIONS']._serialized_end=2318 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/ftrace_descriptor_pb2.py b/lglpy/timeline/protos/perfetto/common/ftrace_descriptor_pb2.py new file mode 100644 index 0000000..f3a481a --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/ftrace_descriptor_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/ftrace_descriptor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/ftrace_descriptor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.protos/perfetto/common/ftrace_descriptor.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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.ftrace_descriptor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_FTRACEDESCRIPTOR']._serialized_start=68 + _globals['_FTRACEDESCRIPTOR']._serialized_end=216 + _globals['_FTRACEDESCRIPTOR_ATRACECATEGORY']._serialized_start=165 + _globals['_FTRACEDESCRIPTOR_ATRACECATEGORY']._serialized_end=216 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/gpu_counter_descriptor_pb2.py b/lglpy/timeline/protos/perfetto/common/gpu_counter_descriptor_pb2.py new file mode 100644 index 0000000..ffc6b0e --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/gpu_counter_descriptor_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/gpu_counter_descriptor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/gpu_counter_descriptor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/common/gpu_counter_descriptor.proto\x12\x0fperfetto.protos\"\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(') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.gpu_counter_descriptor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_GPUCOUNTERDESCRIPTOR']._serialized_start=73 + _globals['_GPUCOUNTERDESCRIPTOR']._serialized_end=1535 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERSPEC']._serialized_start=342 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERSPEC']._serialized_end=740 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERBLOCK']._serialized_start=742 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERBLOCK']._serialized_end=857 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERGROUP']._serialized_start=859 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERGROUP']._serialized_end=976 + _globals['_GPUCOUNTERDESCRIPTOR_MEASUREUNIT']._serialized_start=979 + _globals['_GPUCOUNTERDESCRIPTOR_MEASUREUNIT']._serialized_end=1535 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/interceptor_descriptor_pb2.py b/lglpy/timeline/protos/perfetto/common/interceptor_descriptor_pb2.py new file mode 100644 index 0000000..240ff27 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/interceptor_descriptor_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/interceptor_descriptor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/interceptor_descriptor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/common/interceptor_descriptor.proto\x12\x0fperfetto.protos\"%\n\x15InterceptorDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.interceptor_descriptor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_INTERCEPTORDESCRIPTOR']._serialized_start=72 + _globals['_INTERCEPTORDESCRIPTOR']._serialized_end=109 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/observable_events_pb2.py b/lglpy/timeline/protos/perfetto/common/observable_events_pb2.py new file mode 100644 index 0000000..c24ef6d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/observable_events_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/observable_events.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/observable_events.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.protos/perfetto/common/observable_events.proto\x12\x0fperfetto.protos\"\xae\x05\n\x10ObservableEvents\x12_\n\x16instance_state_changes\x18\x01 \x03(\x0b\x32?.perfetto.protos.ObservableEvents.DataSourceInstanceStateChange\x12 \n\x18\x61ll_data_sources_started\x18\x02 \x01(\x08\x12L\n\x11\x63lone_trigger_hit\x18\x03 \x01(\x0b\x32\x31.perfetto.protos.ObservableEvents.CloneTriggerHit\x1a\x9a\x01\n\x1d\x44\x61taSourceInstanceStateChange\x12\x15\n\rproducer_name\x18\x01 \x01(\t\x12\x18\n\x10\x64\x61ta_source_name\x18\x02 \x01(\t\x12H\n\x05state\x18\x03 \x01(\x0e\x32\x39.perfetto.protos.ObservableEvents.DataSourceInstanceState\x1a\x43\n\x0f\x43loneTriggerHit\x12\x1a\n\x12tracing_session_id\x18\x01 \x01(\x03\x12\x14\n\x0ctrigger_name\x18\x02 \x01(\t\"|\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bTYPE_DATA_SOURCES_INSTANCES\x10\x01\x12!\n\x1dTYPE_ALL_DATA_SOURCES_STARTED\x10\x02\x12\x1a\n\x16TYPE_CLONE_TRIGGER_HIT\x10\x04\"i\n\x17\x44\x61taSourceInstanceState\x12&\n\"DATA_SOURCE_INSTANCE_STATE_STOPPED\x10\x01\x12&\n\"DATA_SOURCE_INSTANCE_STATE_STARTED\x10\x02') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.observable_events_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_OBSERVABLEEVENTS']._serialized_start=68 + _globals['_OBSERVABLEEVENTS']._serialized_end=754 + _globals['_OBSERVABLEEVENTS_DATASOURCEINSTANCESTATECHANGE']._serialized_start=298 + _globals['_OBSERVABLEEVENTS_DATASOURCEINSTANCESTATECHANGE']._serialized_end=452 + _globals['_OBSERVABLEEVENTS_CLONETRIGGERHIT']._serialized_start=454 + _globals['_OBSERVABLEEVENTS_CLONETRIGGERHIT']._serialized_end=521 + _globals['_OBSERVABLEEVENTS_TYPE']._serialized_start=523 + _globals['_OBSERVABLEEVENTS_TYPE']._serialized_end=647 + _globals['_OBSERVABLEEVENTS_DATASOURCEINSTANCESTATE']._serialized_start=649 + _globals['_OBSERVABLEEVENTS_DATASOURCEINSTANCESTATE']._serialized_end=754 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/perf_events_pb2.py b/lglpy/timeline/protos/perfetto/common/perf_events_pb2.py new file mode 100644 index 0000000..af2436a --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/perf_events_pb2.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/perf_events.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/perf_events.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(protos/perfetto/common/perf_events.proto\x12\x0fperfetto.protos\"\xc7\x08\n\nPerfEvents\x1a\xc5\x02\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\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\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.perf_events_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PERFEVENTS']._serialized_start=62 + _globals['_PERFEVENTS']._serialized_end=1157 + _globals['_PERFEVENTS_TIMEBASE']._serialized_start=77 + _globals['_PERFEVENTS_TIMEBASE']._serialized_end=402 + _globals['_PERFEVENTS_TRACEPOINT']._serialized_start=404 + _globals['_PERFEVENTS_TRACEPOINT']._serialized_end=446 + _globals['_PERFEVENTS_RAWEVENT']._serialized_start=448 + _globals['_PERFEVENTS_RAWEVENT']._serialized_end=522 + _globals['_PERFEVENTS_COUNTER']._serialized_start=525 + _globals['_PERFEVENTS_COUNTER']._serialized_end=1013 + _globals['_PERFEVENTS_PERFCLOCK']._serialized_start=1016 + _globals['_PERFEVENTS_PERFCLOCK']._serialized_end=1157 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/protolog_common_pb2.py b/lglpy/timeline/protos/perfetto/common/protolog_common_pb2.py new file mode 100644 index 0000000..fca6d2c --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/protolog_common_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/protolog_common.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/protolog_common.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,protos/perfetto/common/protolog_common.proto\x12\x0fperfetto.protos*\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.protolog_common_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PROTOLOGLEVEL']._serialized_start=66 + _globals['_PROTOLOGLEVEL']._serialized_end=265 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/sys_stats_counters_pb2.py b/lglpy/timeline/protos/perfetto/common/sys_stats_counters_pb2.py new file mode 100644 index 0000000..630d57a --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/sys_stats_counters_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/sys_stats_counters.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/sys_stats_counters.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/protos/perfetto/common/sys_stats_counters.proto\x12\x0fperfetto.protos*\xa5\x07\n\x0fMeminfoCounters\x12\x17\n\x13MEMINFO_UNSPECIFIED\x10\x00\x12\x15\n\x11MEMINFO_MEM_TOTAL\x10\x01\x12\x14\n\x10MEMINFO_MEM_FREE\x10\x02\x12\x19\n\x15MEMINFO_MEM_AVAILABLE\x10\x03\x12\x13\n\x0fMEMINFO_BUFFERS\x10\x04\x12\x12\n\x0eMEMINFO_CACHED\x10\x05\x12\x17\n\x13MEMINFO_SWAP_CACHED\x10\x06\x12\x12\n\x0eMEMINFO_ACTIVE\x10\x07\x12\x14\n\x10MEMINFO_INACTIVE\x10\x08\x12\x17\n\x13MEMINFO_ACTIVE_ANON\x10\t\x12\x19\n\x15MEMINFO_INACTIVE_ANON\x10\n\x12\x17\n\x13MEMINFO_ACTIVE_FILE\x10\x0b\x12\x19\n\x15MEMINFO_INACTIVE_FILE\x10\x0c\x12\x17\n\x13MEMINFO_UNEVICTABLE\x10\r\x12\x13\n\x0fMEMINFO_MLOCKED\x10\x0e\x12\x16\n\x12MEMINFO_SWAP_TOTAL\x10\x0f\x12\x15\n\x11MEMINFO_SWAP_FREE\x10\x10\x12\x11\n\rMEMINFO_DIRTY\x10\x11\x12\x15\n\x11MEMINFO_WRITEBACK\x10\x12\x12\x16\n\x12MEMINFO_ANON_PAGES\x10\x13\x12\x12\n\x0eMEMINFO_MAPPED\x10\x14\x12\x11\n\rMEMINFO_SHMEM\x10\x15\x12\x10\n\x0cMEMINFO_SLAB\x10\x16\x12\x1c\n\x18MEMINFO_SLAB_RECLAIMABLE\x10\x17\x12\x1e\n\x1aMEMINFO_SLAB_UNRECLAIMABLE\x10\x18\x12\x18\n\x14MEMINFO_KERNEL_STACK\x10\x19\x12\x17\n\x13MEMINFO_PAGE_TABLES\x10\x1a\x12\x18\n\x14MEMINFO_COMMIT_LIMIT\x10\x1b\x12\x17\n\x13MEMINFO_COMMITED_AS\x10\x1c\x12\x19\n\x15MEMINFO_VMALLOC_TOTAL\x10\x1d\x12\x18\n\x14MEMINFO_VMALLOC_USED\x10\x1e\x12\x19\n\x15MEMINFO_VMALLOC_CHUNK\x10\x1f\x12\x15\n\x11MEMINFO_CMA_TOTAL\x10 \x12\x14\n\x10MEMINFO_CMA_FREE\x10!\x12\x0f\n\x0bMEMINFO_GPU\x10\"\x12\x10\n\x0cMEMINFO_ZRAM\x10#\x12\x10\n\x0cMEMINFO_MISC\x10$\x12\x14\n\x10MEMINFO_ION_HEAP\x10%\x12\x19\n\x15MEMINFO_ION_HEAP_POOL\x10&*\x81,\n\x0eVmstatCounters\x12\x16\n\x12VMSTAT_UNSPECIFIED\x10\x00\x12\x18\n\x14VMSTAT_NR_FREE_PAGES\x10\x01\x12\x19\n\x15VMSTAT_NR_ALLOC_BATCH\x10\x02\x12\x1b\n\x17VMSTAT_NR_INACTIVE_ANON\x10\x03\x12\x19\n\x15VMSTAT_NR_ACTIVE_ANON\x10\x04\x12\x1b\n\x17VMSTAT_NR_INACTIVE_FILE\x10\x05\x12\x19\n\x15VMSTAT_NR_ACTIVE_FILE\x10\x06\x12\x19\n\x15VMSTAT_NR_UNEVICTABLE\x10\x07\x12\x13\n\x0fVMSTAT_NR_MLOCK\x10\x08\x12\x18\n\x14VMSTAT_NR_ANON_PAGES\x10\t\x12\x14\n\x10VMSTAT_NR_MAPPED\x10\n\x12\x18\n\x14VMSTAT_NR_FILE_PAGES\x10\x0b\x12\x13\n\x0fVMSTAT_NR_DIRTY\x10\x0c\x12\x17\n\x13VMSTAT_NR_WRITEBACK\x10\r\x12\x1e\n\x1aVMSTAT_NR_SLAB_RECLAIMABLE\x10\x0e\x12 \n\x1cVMSTAT_NR_SLAB_UNRECLAIMABLE\x10\x0f\x12\x1e\n\x1aVMSTAT_NR_PAGE_TABLE_PAGES\x10\x10\x12\x1a\n\x16VMSTAT_NR_KERNEL_STACK\x10\x11\x12\x16\n\x12VMSTAT_NR_OVERHEAD\x10\x12\x12\x16\n\x12VMSTAT_NR_UNSTABLE\x10\x13\x12\x14\n\x10VMSTAT_NR_BOUNCE\x10\x14\x12\x1a\n\x16VMSTAT_NR_VMSCAN_WRITE\x10\x15\x12&\n\"VMSTAT_NR_VMSCAN_IMMEDIATE_RECLAIM\x10\x16\x12\x1c\n\x18VMSTAT_NR_WRITEBACK_TEMP\x10\x17\x12\x1b\n\x17VMSTAT_NR_ISOLATED_ANON\x10\x18\x12\x1b\n\x17VMSTAT_NR_ISOLATED_FILE\x10\x19\x12\x13\n\x0fVMSTAT_NR_SHMEM\x10\x1a\x12\x15\n\x11VMSTAT_NR_DIRTIED\x10\x1b\x12\x15\n\x11VMSTAT_NR_WRITTEN\x10\x1c\x12\x1b\n\x17VMSTAT_NR_PAGES_SCANNED\x10\x1d\x12\x1d\n\x19VMSTAT_WORKINGSET_REFAULT\x10\x1e\x12\x1e\n\x1aVMSTAT_WORKINGSET_ACTIVATE\x10\x1f\x12!\n\x1dVMSTAT_WORKINGSET_NODERECLAIM\x10 \x12(\n$VMSTAT_NR_ANON_TRANSPARENT_HUGEPAGES\x10!\x12\x16\n\x12VMSTAT_NR_FREE_CMA\x10\"\x12\x17\n\x13VMSTAT_NR_SWAPCACHE\x10#\x12\x1d\n\x19VMSTAT_NR_DIRTY_THRESHOLD\x10$\x12(\n$VMSTAT_NR_DIRTY_BACKGROUND_THRESHOLD\x10%\x12\x11\n\rVMSTAT_PGPGIN\x10&\x12\x12\n\x0eVMSTAT_PGPGOUT\x10\'\x12\x17\n\x13VMSTAT_PGPGOUTCLEAN\x10(\x12\x11\n\rVMSTAT_PSWPIN\x10)\x12\x12\n\x0eVMSTAT_PSWPOUT\x10*\x12\x16\n\x12VMSTAT_PGALLOC_DMA\x10+\x12\x19\n\x15VMSTAT_PGALLOC_NORMAL\x10,\x12\x1a\n\x16VMSTAT_PGALLOC_MOVABLE\x10-\x12\x11\n\rVMSTAT_PGFREE\x10.\x12\x15\n\x11VMSTAT_PGACTIVATE\x10/\x12\x17\n\x13VMSTAT_PGDEACTIVATE\x10\x30\x12\x12\n\x0eVMSTAT_PGFAULT\x10\x31\x12\x15\n\x11VMSTAT_PGMAJFAULT\x10\x32\x12\x17\n\x13VMSTAT_PGREFILL_DMA\x10\x33\x12\x1a\n\x16VMSTAT_PGREFILL_NORMAL\x10\x34\x12\x1b\n\x17VMSTAT_PGREFILL_MOVABLE\x10\x35\x12\x1d\n\x19VMSTAT_PGSTEAL_KSWAPD_DMA\x10\x36\x12 \n\x1cVMSTAT_PGSTEAL_KSWAPD_NORMAL\x10\x37\x12!\n\x1dVMSTAT_PGSTEAL_KSWAPD_MOVABLE\x10\x38\x12\x1d\n\x19VMSTAT_PGSTEAL_DIRECT_DMA\x10\x39\x12 \n\x1cVMSTAT_PGSTEAL_DIRECT_NORMAL\x10:\x12!\n\x1dVMSTAT_PGSTEAL_DIRECT_MOVABLE\x10;\x12\x1c\n\x18VMSTAT_PGSCAN_KSWAPD_DMA\x10<\x12\x1f\n\x1bVMSTAT_PGSCAN_KSWAPD_NORMAL\x10=\x12 \n\x1cVMSTAT_PGSCAN_KSWAPD_MOVABLE\x10>\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.sys_stats_counters_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_MEMINFOCOUNTERS']._serialized_start=69 + _globals['_MEMINFOCOUNTERS']._serialized_end=1002 + _globals['_VMSTATCOUNTERS']._serialized_start=1005 + _globals['_VMSTATCOUNTERS']._serialized_end=6638 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/trace_stats_pb2.py b/lglpy/timeline/protos/perfetto/common/trace_stats_pb2.py new file mode 100644 index 0000000..f4f33db --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/trace_stats_pb2.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/trace_stats.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/trace_stats.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(protos/perfetto/common/trace_stats.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.trace_stats_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACESTATS_WRITERSTATS'].fields_by_name['chunk_payload_histogram_counts']._loaded_options = None + _globals['_TRACESTATS_WRITERSTATS'].fields_by_name['chunk_payload_histogram_counts']._serialized_options = b'\020\001' + _globals['_TRACESTATS_WRITERSTATS'].fields_by_name['chunk_payload_histogram_sum']._loaded_options = None + _globals['_TRACESTATS_WRITERSTATS'].fields_by_name['chunk_payload_histogram_sum']._serialized_options = b'\020\001' + _globals['_TRACESTATS']._serialized_start=62 + _globals['_TRACESTATS']._serialized_end=1615 + _globals['_TRACESTATS_BUFFERSTATS']._serialized_start=697 + _globals['_TRACESTATS_BUFFERSTATS']._serialized_end=1219 + _globals['_TRACESTATS_WRITERSTATS']._serialized_start=1222 + _globals['_TRACESTATS_WRITERSTATS']._serialized_end=1357 + _globals['_TRACESTATS_FILTERSTATS']._serialized_start=1360 + _globals['_TRACESTATS_FILTERSTATS']._serialized_end=1514 + _globals['_TRACESTATS_FINALFLUSHOUTCOME']._serialized_start=1516 + _globals['_TRACESTATS_FINALFLUSHOUTCOME']._serialized_end=1615 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/tracing_service_capabilities_pb2.py b/lglpy/timeline/protos/perfetto/common/tracing_service_capabilities_pb2.py new file mode 100644 index 0000000..460a7cc --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/tracing_service_capabilities_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/tracing_service_capabilities.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/tracing_service_capabilities.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import observable_events_pb2 as protos_dot_perfetto_dot_common_dot_observable__events__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/common/tracing_service_capabilities.proto\x12\x0fperfetto.protos\x1a.protos/perfetto/common/observable_events.proto\"\xc0\x01\n\x1aTracingServiceCapabilities\x12\x1e\n\x16has_query_capabilities\x18\x01 \x01(\x08\x12\x41\n\x11observable_events\x18\x02 \x03(\x0e\x32&.perfetto.protos.ObservableEvents.Type\x12$\n\x1chas_trace_config_output_path\x18\x03 \x01(\x08\x12\x19\n\x11has_clone_session\x18\x04 \x01(\x08') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.tracing_service_capabilities_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACINGSERVICECAPABILITIES']._serialized_start=127 + _globals['_TRACINGSERVICECAPABILITIES']._serialized_end=319 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/tracing_service_state_pb2.py b/lglpy/timeline/protos/perfetto/common/tracing_service_state_pb2.py new file mode 100644 index 0000000..94250b7 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/tracing_service_state_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/tracing_service_state.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/tracing_service_state.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import data_source_descriptor_pb2 as protos_dot_perfetto_dot_common_dot_data__source__descriptor__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2protos/perfetto/common/tracing_service_state.proto\x12\x0fperfetto.protos\x1a\x33protos/perfetto/common/data_source_descriptor.proto\"\xa7\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\x1aS\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\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.tracing_service_state_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACINGSERVICESTATE']._serialized_start=125 + _globals['_TRACINGSERVICESTATE']._serialized_end=932 + _globals['_TRACINGSERVICESTATE_PRODUCER']._serialized_start=484 + _globals['_TRACINGSERVICESTATE_PRODUCER']._serialized_end=567 + _globals['_TRACINGSERVICESTATE_DATASOURCE']._serialized_start=569 + _globals['_TRACINGSERVICESTATE_DATASOURCE']._serialized_end=664 + _globals['_TRACINGSERVICESTATE_TRACINGSESSION']._serialized_start=667 + _globals['_TRACINGSERVICESTATE_TRACINGSESSION']._serialized_end=932 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/common/track_event_descriptor_pb2.py b/lglpy/timeline/protos/perfetto/common/track_event_descriptor_pb2.py new file mode 100644 index 0000000..5539bd7 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/common/track_event_descriptor_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/common/track_event_descriptor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/common/track_event_descriptor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/common/track_event_descriptor.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.common.track_event_descriptor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACKEVENTCATEGORY']._serialized_start=72 + _globals['_TRACKEVENTCATEGORY']._serialized_end=141 + _globals['_TRACKEVENTDESCRIPTOR']._serialized_start=143 + _globals['_TRACKEVENTDESCRIPTOR']._serialized_end=232 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/__init__.py b/lglpy/timeline/protos/perfetto/config/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/android/__init__.py b/lglpy/timeline/protos/perfetto/config/android/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/android/android_game_intervention_list_config_pb2.py b/lglpy/timeline/protos/perfetto/config/android/android_game_intervention_list_config_pb2.py new file mode 100644 index 0000000..70b8275 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/android/android_game_intervention_list_config_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/android/android_game_intervention_list_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/android/android_game_intervention_list_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nJprotos/perfetto/config/android/android_game_intervention_list_config.proto\x12\x0fperfetto.protos\"@\n!AndroidGameInterventionListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.android.android_game_intervention_list_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDGAMEINTERVENTIONLISTCONFIG']._serialized_start=95 + _globals['_ANDROIDGAMEINTERVENTIONLISTCONFIG']._serialized_end=159 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/android/android_input_event_config_pb2.py b/lglpy/timeline/protos/perfetto/config/android/android_input_event_config_pb2.py new file mode 100644 index 0000000..57156ef --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/android/android_input_event_config_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/android/android_input_event_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/android/android_input_event_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?protos/perfetto/config/android/android_input_event_config.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.android.android_input_event_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDINPUTEVENTCONFIG']._serialized_start=85 + _globals['_ANDROIDINPUTEVENTCONFIG']._serialized_end=680 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACERULE']._serialized_start=327 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACERULE']._serialized_end=527 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACEMODE']._serialized_start=529 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACEMODE']._serialized_end=592 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACELEVEL']._serialized_start=594 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACELEVEL']._serialized_end=680 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/android/android_log_config_pb2.py b/lglpy/timeline/protos/perfetto/config/android/android_log_config_pb2.py new file mode 100644 index 0000000..a216e98 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/android/android_log_config_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/android/android_log_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/android/android_log_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import android_log_constants_pb2 as protos_dot_perfetto_dot_common_dot_android__log__constants__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7protos/perfetto/config/android/android_log_config.proto\x12\x0fperfetto.protos\x1a\x32protos/perfetto/common/android_log_constants.proto\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.android.android_log_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDLOGCONFIG']._serialized_start=129 + _globals['_ANDROIDLOGCONFIG']._serialized_end=277 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/android/android_polled_state_config_pb2.py b/lglpy/timeline/protos/perfetto/config/android/android_polled_state_config_pb2.py new file mode 100644 index 0000000..9f62a0f --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/android/android_polled_state_config_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/android/android_polled_state_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/android/android_polled_state_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n@protos/perfetto/config/android/android_polled_state_config.proto\x12\x0fperfetto.protos\"+\n\x18\x41ndroidPolledStateConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.android.android_polled_state_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDPOLLEDSTATECONFIG']._serialized_start=85 + _globals['_ANDROIDPOLLEDSTATECONFIG']._serialized_end=128 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/android/android_sdk_sysprop_guard_config_pb2.py b/lglpy/timeline/protos/perfetto/config/android/android_sdk_sysprop_guard_config_pb2.py new file mode 100644 index 0000000..e48120d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/android/android_sdk_sysprop_guard_config_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/android/android_sdk_sysprop_guard_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/android/android_sdk_sysprop_guard_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nEprotos/perfetto/config/android/android_sdk_sysprop_guard_config.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.android.android_sdk_sysprop_guard_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDSDKSYSPROPGUARDCONFIG']._serialized_start=91 + _globals['_ANDROIDSDKSYSPROPGUARDCONFIG']._serialized_end=229 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/android/android_system_property_config_pb2.py b/lglpy/timeline/protos/perfetto/config/android/android_system_property_config_pb2.py new file mode 100644 index 0000000..9220d01 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/android/android_system_property_config_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/android/android_system_property_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/android/android_system_property_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nCprotos/perfetto/config/android/android_system_property_config.proto\x12\x0fperfetto.protos\"E\n\x1b\x41ndroidSystemPropertyConfig\x12\x0f\n\x07poll_ms\x18\x01 \x01(\r\x12\x15\n\rproperty_name\x18\x02 \x03(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.android.android_system_property_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDSYSTEMPROPERTYCONFIG']._serialized_start=88 + _globals['_ANDROIDSYSTEMPROPERTYCONFIG']._serialized_end=157 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/android/network_trace_config_pb2.py b/lglpy/timeline/protos/perfetto/config/android/network_trace_config_pb2.py new file mode 100644 index 0000000..30205ed --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/android/network_trace_config_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/android/network_trace_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/android/network_trace_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/config/android/network_trace_config.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.android.network_trace_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_NETWORKPACKETTRACECONFIG']._serialized_start=79 + _globals['_NETWORKPACKETTRACECONFIG']._serialized_end=250 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/android/packages_list_config_pb2.py b/lglpy/timeline/protos/perfetto/config/android/packages_list_config_pb2.py new file mode 100644 index 0000000..40e9313 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/android/packages_list_config_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/android/packages_list_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/android/packages_list_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/config/android/packages_list_config.proto\x12\x0fperfetto.protos\"1\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.android.packages_list_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PACKAGESLISTCONFIG']._serialized_start=78 + _globals['_PACKAGESLISTCONFIG']._serialized_end=127 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/android/pixel_modem_config_pb2.py b/lglpy/timeline/protos/perfetto/config/android/pixel_modem_config_pb2.py new file mode 100644 index 0000000..3d52967 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/android/pixel_modem_config_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/android/pixel_modem_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/android/pixel_modem_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7protos/perfetto/config/android/pixel_modem_config.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.android.pixel_modem_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PIXELMODEMCONFIG']._serialized_start=77 + _globals['_PIXELMODEMCONFIG']._serialized_end=337 + _globals['_PIXELMODEMCONFIG_EVENTGROUP']._serialized_start=229 + _globals['_PIXELMODEMCONFIG_EVENTGROUP']._serialized_end=337 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/android/protolog_config_pb2.py b/lglpy/timeline/protos/perfetto/config/android/protolog_config_pb2.py new file mode 100644 index 0000000..87874c0 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/android/protolog_config_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/android/protolog_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/android/protolog_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import protolog_common_pb2 as protos_dot_perfetto_dot_common_dot_protolog__common__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4protos/perfetto/config/android/protolog_config.proto\x12\x0fperfetto.protos\x1a,protos/perfetto/common/protolog_common.proto\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.android.protolog_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PROTOLOGCONFIG']._serialized_start=120 + _globals['_PROTOLOGCONFIG']._serialized_end=368 + _globals['_PROTOLOGCONFIG_TRACINGMODE']._serialized_start=326 + _globals['_PROTOLOGCONFIG_TRACINGMODE']._serialized_end=368 + _globals['_PROTOLOGGROUP']._serialized_start=370 + _globals['_PROTOLOGGROUP']._serialized_end=483 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/android/surfaceflinger_layers_config_pb2.py b/lglpy/timeline/protos/perfetto/config/android/surfaceflinger_layers_config_pb2.py new file mode 100644 index 0000000..1624f4f --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/android/surfaceflinger_layers_config_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/android/surfaceflinger_layers_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/android/surfaceflinger_layers_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nAprotos/perfetto/config/android/surfaceflinger_layers_config.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.android.surfaceflinger_layers_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SURFACEFLINGERLAYERSCONFIG']._serialized_start=87 + _globals['_SURFACEFLINGERLAYERSCONFIG']._serialized_end=583 + _globals['_SURFACEFLINGERLAYERSCONFIG_MODE']._serialized_start=257 + _globals['_SURFACEFLINGERLAYERSCONFIG_MODE']._serialized_end=372 + _globals['_SURFACEFLINGERLAYERSCONFIG_TRACEFLAG']._serialized_start=375 + _globals['_SURFACEFLINGERLAYERSCONFIG_TRACEFLAG']._serialized_end=583 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/android/surfaceflinger_transactions_config_pb2.py b/lglpy/timeline/protos/perfetto/config/android/surfaceflinger_transactions_config_pb2.py new file mode 100644 index 0000000..6a70cac --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/android/surfaceflinger_transactions_config_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/android/surfaceflinger_transactions_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/android/surfaceflinger_transactions_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nGprotos/perfetto/config/android/surfaceflinger_transactions_config.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.android.surfaceflinger_transactions_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SURFACEFLINGERTRANSACTIONSCONFIG']._serialized_start=93 + _globals['_SURFACEFLINGERTRANSACTIONSCONFIG']._serialized_end=265 + _globals['_SURFACEFLINGERTRANSACTIONSCONFIG_MODE']._serialized_start=199 + _globals['_SURFACEFLINGERTRANSACTIONSCONFIG_MODE']._serialized_end=265 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/android/windowmanager_config_pb2.py b/lglpy/timeline/protos/perfetto/config/android/windowmanager_config_pb2.py new file mode 100644 index 0000000..bbdc4d2 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/android/windowmanager_config_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/android/windowmanager_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/android/windowmanager_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/config/android/windowmanager_config.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.android.windowmanager_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_WINDOWMANAGERCONFIG']._serialized_start=79 + _globals['_WINDOWMANAGERCONFIG']._serialized_end=482 + _globals['_WINDOWMANAGERCONFIG_LOGFREQUENCY']._serialized_start=243 + _globals['_WINDOWMANAGERCONFIG_LOGFREQUENCY']._serialized_end=375 + _globals['_WINDOWMANAGERCONFIG_LOGLEVEL']._serialized_start=377 + _globals['_WINDOWMANAGERCONFIG_LOGLEVEL']._serialized_end=482 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/chrome/__init__.py b/lglpy/timeline/protos/perfetto/config/chrome/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/chrome/chrome_config_pb2.py b/lglpy/timeline/protos/perfetto/config/chrome/chrome_config_pb2.py new file mode 100644 index 0000000..5763ed2 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/chrome/chrome_config_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/chrome/chrome_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/chrome/chrome_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1protos/perfetto/config/chrome/chrome_config.proto\x12\x0fperfetto.protos\"\x92\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\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.chrome.chrome_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMECONFIG']._serialized_start=71 + _globals['_CHROMECONFIG']._serialized_end=345 + _globals['_CHROMECONFIG_CLIENTPRIORITY']._serialized_start=280 + _globals['_CHROMECONFIG_CLIENTPRIORITY']._serialized_end=345 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/chrome/scenario_config_pb2.py b/lglpy/timeline/protos/perfetto/config/chrome/scenario_config_pb2.py new file mode 100644 index 0000000..67a6e8b --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/chrome/scenario_config_pb2.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/chrome/scenario_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/chrome/scenario_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.config import trace_config_pb2 as protos_dot_perfetto_dot_config_dot_trace__config__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/config/chrome/scenario_config.proto\x12\x0fperfetto.protos\x1a)protos/perfetto/config/trace_config.proto\"\xac\x03\n\x0bTriggerRule\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0etrigger_chance\x18\x02 \x01(\x02\x12\x10\n\x08\x64\x65lay_ms\x18\x03 \x01(\x04\x12\x1b\n\x13\x61\x63tivation_delay_ms\x18\x08 \x01(\x04\x12\x1d\n\x13manual_trigger_name\x18\x04 \x01(\tH\x00\x12\x42\n\thistogram\x18\x05 \x01(\x0b\x32-.perfetto.protos.TriggerRule.HistogramTriggerH\x00\x12L\n\x12repeating_interval\x18\x06 \x01(\x0b\x32..perfetto.protos.TriggerRule.RepeatingIntervalH\x00\x1aP\n\x10HistogramTrigger\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\x1a:\n\x11RepeatingInterval\x12\x11\n\tperiod_ms\x18\x01 \x01(\x04\x12\x12\n\nrandomized\x18\x02 \x01(\x08\x42\t\n\x07trigger\"\xc6\x01\n\x14NestedScenarioConfig\x12\x15\n\rscenario_name\x18\x01 \x01(\t\x12\x31\n\x0bstart_rules\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.TriggerRule\x12\x30\n\nstop_rules\x18\x03 \x03(\x0b\x32\x1c.perfetto.protos.TriggerRule\x12\x32\n\x0cupload_rules\x18\x04 \x03(\x0b\x32\x1c.perfetto.protos.TriggerRule\"\xe8\x02\n\x0eScenarioConfig\x12\x15\n\rscenario_name\x18\x01 \x01(\t\x12\x31\n\x0bstart_rules\x18\x02 \x03(\x0b\x32\x1c.perfetto.protos.TriggerRule\x12\x30\n\nstop_rules\x18\x03 \x03(\x0b\x32\x1c.perfetto.protos.TriggerRule\x12\x32\n\x0cupload_rules\x18\x04 \x03(\x0b\x32\x1c.perfetto.protos.TriggerRule\x12\x31\n\x0bsetup_rules\x18\x05 \x03(\x0b\x32\x1c.perfetto.protos.TriggerRule\x12\x32\n\x0ctrace_config\x18\x06 \x01(\x0b\x32\x1c.perfetto.protos.TraceConfig\x12?\n\x10nested_scenarios\x18\x07 \x03(\x0b\x32%.perfetto.protos.NestedScenarioConfig\"N\n\x18\x43hromeFieldTracingConfig\x12\x32\n\tscenarios\x18\x01 \x03(\x0b\x32\x1f.perfetto.protos.ScenarioConfig\"H\n\x19TracingTriggerRulesConfig\x12+\n\x05rules\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TriggerRule') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.chrome.scenario_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRIGGERRULE']._serialized_start=116 + _globals['_TRIGGERRULE']._serialized_end=544 + _globals['_TRIGGERRULE_HISTOGRAMTRIGGER']._serialized_start=393 + _globals['_TRIGGERRULE_HISTOGRAMTRIGGER']._serialized_end=473 + _globals['_TRIGGERRULE_REPEATINGINTERVAL']._serialized_start=475 + _globals['_TRIGGERRULE_REPEATINGINTERVAL']._serialized_end=533 + _globals['_NESTEDSCENARIOCONFIG']._serialized_start=547 + _globals['_NESTEDSCENARIOCONFIG']._serialized_end=745 + _globals['_SCENARIOCONFIG']._serialized_start=748 + _globals['_SCENARIOCONFIG']._serialized_end=1108 + _globals['_CHROMEFIELDTRACINGCONFIG']._serialized_start=1110 + _globals['_CHROMEFIELDTRACINGCONFIG']._serialized_end=1188 + _globals['_TRACINGTRIGGERRULESCONFIG']._serialized_start=1190 + _globals['_TRACINGTRIGGERRULESCONFIG']._serialized_end=1262 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/chrome/v8_config_pb2.py b/lglpy/timeline/protos/perfetto/config/chrome/v8_config_pb2.py new file mode 100644 index 0000000..ba829a1 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/chrome/v8_config_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/chrome/v8_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/chrome/v8_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-protos/perfetto/config/chrome/v8_config.proto\x12\x0fperfetto.protos\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.chrome.v8_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_V8CONFIG']._serialized_start=66 + _globals['_V8CONFIG']._serialized_end=130 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/data_source_config_pb2.py b/lglpy/timeline/protos/perfetto/config/data_source_config_pb2.py new file mode 100644 index 0000000..49447bc --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/data_source_config_pb2.py @@ -0,0 +1,123 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/data_source_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/data_source_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.config.android import android_game_intervention_list_config_pb2 as protos_dot_perfetto_dot_config_dot_android_dot_android__game__intervention__list__config__pb2 +from protos.perfetto.config.android import android_input_event_config_pb2 as protos_dot_perfetto_dot_config_dot_android_dot_android__input__event__config__pb2 +from protos.perfetto.config.android import android_log_config_pb2 as protos_dot_perfetto_dot_config_dot_android_dot_android__log__config__pb2 +from protos.perfetto.config.android import android_polled_state_config_pb2 as protos_dot_perfetto_dot_config_dot_android_dot_android__polled__state__config__pb2 +from protos.perfetto.config.android import android_system_property_config_pb2 as protos_dot_perfetto_dot_config_dot_android_dot_android__system__property__config__pb2 +from protos.perfetto.config.android import android_sdk_sysprop_guard_config_pb2 as protos_dot_perfetto_dot_config_dot_android_dot_android__sdk__sysprop__guard__config__pb2 +from protos.perfetto.config.android import network_trace_config_pb2 as protos_dot_perfetto_dot_config_dot_android_dot_network__trace__config__pb2 +from protos.perfetto.config.android import packages_list_config_pb2 as protos_dot_perfetto_dot_config_dot_android_dot_packages__list__config__pb2 +from protos.perfetto.config.android import pixel_modem_config_pb2 as protos_dot_perfetto_dot_config_dot_android_dot_pixel__modem__config__pb2 +from protos.perfetto.config.android import protolog_config_pb2 as protos_dot_perfetto_dot_config_dot_android_dot_protolog__config__pb2 +from protos.perfetto.config.android import surfaceflinger_layers_config_pb2 as protos_dot_perfetto_dot_config_dot_android_dot_surfaceflinger__layers__config__pb2 +from protos.perfetto.config.android import surfaceflinger_transactions_config_pb2 as protos_dot_perfetto_dot_config_dot_android_dot_surfaceflinger__transactions__config__pb2 +from protos.perfetto.config.android import windowmanager_config_pb2 as protos_dot_perfetto_dot_config_dot_android_dot_windowmanager__config__pb2 +from protos.perfetto.config.chrome import chrome_config_pb2 as protos_dot_perfetto_dot_config_dot_chrome_dot_chrome__config__pb2 +from protos.perfetto.config.chrome import v8_config_pb2 as protos_dot_perfetto_dot_config_dot_chrome_dot_v8__config__pb2 +from protos.perfetto.config.etw import etw_config_pb2 as protos_dot_perfetto_dot_config_dot_etw_dot_etw__config__pb2 +from protos.perfetto.config.ftrace import ftrace_config_pb2 as protos_dot_perfetto_dot_config_dot_ftrace_dot_ftrace__config__pb2 +from protos.perfetto.config.gpu import gpu_counter_config_pb2 as protos_dot_perfetto_dot_config_dot_gpu_dot_gpu__counter__config__pb2 +from protos.perfetto.config.gpu import vulkan_memory_config_pb2 as protos_dot_perfetto_dot_config_dot_gpu_dot_vulkan__memory__config__pb2 +from protos.perfetto.config.inode_file import inode_file_config_pb2 as protos_dot_perfetto_dot_config_dot_inode__file_dot_inode__file__config__pb2 +from protos.perfetto.config import interceptor_config_pb2 as protos_dot_perfetto_dot_config_dot_interceptor__config__pb2 +from protos.perfetto.config.power import android_power_config_pb2 as protos_dot_perfetto_dot_config_dot_power_dot_android__power__config__pb2 +from protos.perfetto.config.statsd import statsd_tracing_config_pb2 as protos_dot_perfetto_dot_config_dot_statsd_dot_statsd__tracing__config__pb2 +from protos.perfetto.config.process_stats import process_stats_config_pb2 as protos_dot_perfetto_dot_config_dot_process__stats_dot_process__stats__config__pb2 +from protos.perfetto.config.profiling import heapprofd_config_pb2 as protos_dot_perfetto_dot_config_dot_profiling_dot_heapprofd__config__pb2 +from protos.perfetto.config.profiling import java_hprof_config_pb2 as protos_dot_perfetto_dot_config_dot_profiling_dot_java__hprof__config__pb2 +from protos.perfetto.config.profiling import perf_event_config_pb2 as protos_dot_perfetto_dot_config_dot_profiling_dot_perf__event__config__pb2 +from protos.perfetto.config.sys_stats import sys_stats_config_pb2 as protos_dot_perfetto_dot_config_dot_sys__stats_dot_sys__stats__config__pb2 +from protos.perfetto.config import test_config_pb2 as protos_dot_perfetto_dot_config_dot_test__config__pb2 +from protos.perfetto.config.track_event import track_event_config_pb2 as protos_dot_perfetto_dot_config_dot_track__event_dot_track__event__config__pb2 +from protos.perfetto.config.system_info import system_info_pb2 as protos_dot_perfetto_dot_config_dot_system__info_dot_system__info__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/protos/perfetto/config/data_source_config.proto\x12\x0fperfetto.protos\x1aJprotos/perfetto/config/android/android_game_intervention_list_config.proto\x1a?protos/perfetto/config/android/android_input_event_config.proto\x1a\x37protos/perfetto/config/android/android_log_config.proto\x1a@protos/perfetto/config/android/android_polled_state_config.proto\x1a\x43protos/perfetto/config/android/android_system_property_config.proto\x1a\x45protos/perfetto/config/android/android_sdk_sysprop_guard_config.proto\x1a\x39protos/perfetto/config/android/network_trace_config.proto\x1a\x39protos/perfetto/config/android/packages_list_config.proto\x1a\x37protos/perfetto/config/android/pixel_modem_config.proto\x1a\x34protos/perfetto/config/android/protolog_config.proto\x1a\x41protos/perfetto/config/android/surfaceflinger_layers_config.proto\x1aGprotos/perfetto/config/android/surfaceflinger_transactions_config.proto\x1a\x39protos/perfetto/config/android/windowmanager_config.proto\x1a\x31protos/perfetto/config/chrome/chrome_config.proto\x1a-protos/perfetto/config/chrome/v8_config.proto\x1a+protos/perfetto/config/etw/etw_config.proto\x1a\x31protos/perfetto/config/ftrace/ftrace_config.proto\x1a\x33protos/perfetto/config/gpu/gpu_counter_config.proto\x1a\x35protos/perfetto/config/gpu/vulkan_memory_config.proto\x1a\x39protos/perfetto/config/inode_file/inode_file_config.proto\x1a/protos/perfetto/config/interceptor_config.proto\x1a\x37protos/perfetto/config/power/android_power_config.proto\x1a\x39protos/perfetto/config/statsd/statsd_tracing_config.proto\x1a?protos/perfetto/config/process_stats/process_stats_config.proto\x1a\x37protos/perfetto/config/profiling/heapprofd_config.proto\x1a\x38protos/perfetto/config/profiling/java_hprof_config.proto\x1a\x38protos/perfetto/config/profiling/perf_event_config.proto\x1a\x37protos/perfetto/config/sys_stats/sys_stats_config.proto\x1a(protos/perfetto/config/test_config.proto\x1a;protos/perfetto/config/track_event/track_event_config.proto\x1a\x34protos/perfetto/config/system_info/system_info.proto\"\xba\x14\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\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\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\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\x01J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.data_source_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['ftrace_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['ftrace_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['inode_file_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['inode_file_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['process_stats_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['process_stats_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['sys_stats_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['sys_stats_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['heapprofd_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['heapprofd_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['java_hprof_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['java_hprof_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_power_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_power_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_log_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_log_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['gpu_counter_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['gpu_counter_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_game_intervention_list_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_game_intervention_list_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['packages_list_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['packages_list_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['perf_event_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['perf_event_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['vulkan_memory_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['vulkan_memory_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['track_event_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['track_event_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_polled_state_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_polled_state_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_system_property_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_system_property_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['statsd_tracing_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['statsd_tracing_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['v8_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['v8_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['network_packet_trace_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['network_packet_trace_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['surfaceflinger_layers_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['surfaceflinger_layers_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['surfaceflinger_transactions_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['surfaceflinger_transactions_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_sdk_sysprop_guard_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_sdk_sysprop_guard_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['etw_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['etw_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['protolog_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['protolog_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_input_event_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_input_event_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['pixel_modem_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['pixel_modem_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['windowmanager_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['windowmanager_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG']._serialized_start=1879 + _globals['_DATASOURCECONFIG']._serialized_end=4497 + _globals['_DATASOURCECONFIG_SESSIONINITIATOR']._serialized_start=4393 + _globals['_DATASOURCECONFIG_SESSIONINITIATOR']._serialized_end=4484 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/etw/__init__.py b/lglpy/timeline/protos/perfetto/config/etw/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/etw/etw_config_pb2.py b/lglpy/timeline/protos/perfetto/config/etw/etw_config_pb2.py new file mode 100644 index 0000000..c82fc36 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/etw/etw_config_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/etw/etw_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/etw/etw_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+protos/perfetto/config/etw/etw_config.proto\x12\x0fperfetto.protos\"s\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.etw.etw_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ETWCONFIG']._serialized_start=64 + _globals['_ETWCONFIG']._serialized_end=179 + _globals['_ETWCONFIG_KERNELFLAG']._serialized_start=138 + _globals['_ETWCONFIG_KERNELFLAG']._serialized_end=179 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/ftrace/__init__.py b/lglpy/timeline/protos/perfetto/config/ftrace/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/ftrace/ftrace_config_pb2.py b/lglpy/timeline/protos/perfetto/config/ftrace/ftrace_config_pb2.py new file mode 100644 index 0000000..cc7c7d4 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/ftrace/ftrace_config_pb2.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/ftrace/ftrace_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/ftrace/ftrace_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1protos/perfetto/config/ftrace/ftrace_config.proto\x12\x0fperfetto.protos\"\x92\t\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\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1a \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\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x12\x19\n\x11throttle_rss_stat\x18\x0f \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\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\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\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\"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\x02') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.ftrace.ftrace_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_FTRACECONFIG'].fields_by_name['initialize_ksyms_synchronously_for_testing']._loaded_options = None + _globals['_FTRACECONFIG'].fields_by_name['initialize_ksyms_synchronously_for_testing']._serialized_options = b'\030\001' + _globals['_FTRACECONFIG']._serialized_start=71 + _globals['_FTRACECONFIG']._serialized_end=1241 + _globals['_FTRACECONFIG_COMPACTSCHEDCONFIG']._serialized_start=857 + _globals['_FTRACECONFIG_COMPACTSCHEDCONFIG']._serialized_end=894 + _globals['_FTRACECONFIG_PRINTFILTER']._serialized_start=897 + _globals['_FTRACECONFIG_PRINTFILTER']._serialized_end=1155 + _globals['_FTRACECONFIG_PRINTFILTER_RULE']._serialized_start=976 + _globals['_FTRACECONFIG_PRINTFILTER_RULE']._serialized_end=1155 + _globals['_FTRACECONFIG_PRINTFILTER_RULE_ATRACEMESSAGE']._serialized_start=1101 + _globals['_FTRACECONFIG_PRINTFILTER_RULE_ATRACEMESSAGE']._serialized_end=1146 + _globals['_FTRACECONFIG_KSYMSMEMPOLICY']._serialized_start=1157 + _globals['_FTRACECONFIG_KSYMSMEMPOLICY']._serialized_end=1241 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/gpu/__init__.py b/lglpy/timeline/protos/perfetto/config/gpu/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/gpu/gpu_counter_config_pb2.py b/lglpy/timeline/protos/perfetto/config/gpu/gpu_counter_config_pb2.py new file mode 100644 index 0000000..ef87e60 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/gpu/gpu_counter_config_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/gpu/gpu_counter_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/gpu/gpu_counter_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/config/gpu/gpu_counter_config.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.gpu.gpu_counter_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_GPUCOUNTERCONFIG']._serialized_start=72 + _globals['_GPUCOUNTERCONFIG']._serialized_end=192 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/gpu/vulkan_memory_config_pb2.py b/lglpy/timeline/protos/perfetto/config/gpu/vulkan_memory_config_pb2.py new file mode 100644 index 0000000..9a2aea9 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/gpu/vulkan_memory_config_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/gpu/vulkan_memory_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/gpu/vulkan_memory_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5protos/perfetto/config/gpu/vulkan_memory_config.proto\x12\x0fperfetto.protos\"Z\n\x12VulkanMemoryConfig\x12!\n\x19track_driver_memory_usage\x18\x01 \x01(\x08\x12!\n\x19track_device_memory_usage\x18\x02 \x01(\x08') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.gpu.vulkan_memory_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_VULKANMEMORYCONFIG']._serialized_start=74 + _globals['_VULKANMEMORYCONFIG']._serialized_end=164 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/inode_file/__init__.py b/lglpy/timeline/protos/perfetto/config/inode_file/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/inode_file/inode_file_config_pb2.py b/lglpy/timeline/protos/perfetto/config/inode_file/inode_file_config_pb2.py new file mode 100644 index 0000000..f8a186d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/inode_file/inode_file_config_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/inode_file/inode_file_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/inode_file/inode_file_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/config/inode_file/inode_file_config.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.inode_file.inode_file_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_INODEFILECONFIG']._serialized_start=79 + _globals['_INODEFILECONFIG']._serialized_end=370 + _globals['_INODEFILECONFIG_MOUNTPOINTMAPPINGENTRY']._serialized_start=306 + _globals['_INODEFILECONFIG_MOUNTPOINTMAPPINGENTRY']._serialized_end=370 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/interceptor_config_pb2.py b/lglpy/timeline/protos/perfetto/config/interceptor_config_pb2.py new file mode 100644 index 0000000..39aca32 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/interceptor_config_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/interceptor_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/interceptor_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.config.interceptors import console_config_pb2 as protos_dot_perfetto_dot_config_dot_interceptors_dot_console__config__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/protos/perfetto/config/interceptor_config.proto\x12\x0fperfetto.protos\x1a\x38protos/perfetto/config/interceptors/console_config.proto\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.interceptor_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_INTERCEPTORCONFIG']._serialized_start=126 + _globals['_INTERCEPTORCONFIG']._serialized_end=215 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/interceptors/__init__.py b/lglpy/timeline/protos/perfetto/config/interceptors/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/interceptors/console_config_pb2.py b/lglpy/timeline/protos/perfetto/config/interceptors/console_config_pb2.py new file mode 100644 index 0000000..c0f9ab2 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/interceptors/console_config_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/interceptors/console_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/interceptors/console_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8protos/perfetto/config/interceptors/console_config.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.interceptors.console_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CONSOLECONFIG']._serialized_start=78 + _globals['_CONSOLECONFIG']._serialized_end=243 + _globals['_CONSOLECONFIG_OUTPUT']._serialized_start=173 + _globals['_CONSOLECONFIG_OUTPUT']._serialized_end=243 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/perfetto_config_pb2.py b/lglpy/timeline/protos/perfetto/config/perfetto_config_pb2.py new file mode 100644 index 0000000..24867be --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/perfetto_config_pb2.py @@ -0,0 +1,335 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/perfetto_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/perfetto_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,protos/perfetto/config/perfetto_config.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\"\xa7\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\x1aS\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\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\"\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\"1\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\"\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\"\x92\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\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08\"s\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01\"\x92\t\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\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1a \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\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x12\x19\n\x11throttle_rss_stat\x18\x0f \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\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\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\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\"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\x02\"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\"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\"\xa6\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\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\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\"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\"\xc7\x08\n\nPerfEvents\x1a\xc5\x02\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\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\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\"\xd7\x07\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\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\"C\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02J\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\"\xd1\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\"{\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\"\xae\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\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08\"\xba\x14\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\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\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\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\x01J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01\"\xe9#\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\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\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\x81\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\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!*\xa3\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\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*\xd2\x8e\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\x1a\n\x16\x41TOM_LMK_STATE_CHANGED\x10\x36\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\x17\n\x13\x41TOM_DAVEY_OCCURRED\x10:\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)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\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_CAMERA_COMPAT_CONTROL_EVENT_REPORTED\x10\x9b\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 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\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)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\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\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\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\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\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*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\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_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-\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\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\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(\n#ATOM_GRAMMATICAL_INFLECTION_CHANGED\x10\xc8\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\x1e\n\x19\x41TOM_WS_WEAR_TIME_SESSION\x10\xe2\x04\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\x1c\x41TOM_WIFI_AWARE_NDP_REPORTED\x10\xfe\x04\x12$\n\x1f\x41TOM_WIFI_AWARE_ATTACH_REPORTED\x10\xff\x04\x12&\n!ATOM_WIFI_SELF_RECOVERY_TRIGGERED\x10\x95\x05\x12\x19\n\x14\x41TOM_SOFT_AP_STARTED\x10\xa8\x05\x12\x19\n\x14\x41TOM_SOFT_AP_STOPPED\x10\xa9\x05\x12\x1c\n\x17\x41TOM_WIFI_LOCK_RELEASED\x10\xaf\x05\x12\x1f\n\x1a\x41TOM_WIFI_LOCK_DEACTIVATED\x10\xb0\x05\x12\x1b\n\x16\x41TOM_WIFI_CONFIG_SAVED\x10\xb1\x05\x12+\n&ATOM_WIFI_AWARE_RESOURCE_USING_CHANGED\x10\xb2\x05\x12#\n\x1e\x41TOM_WIFI_AWARE_HAL_API_CALLED\x10\xb3\x05\x12*\n%ATOM_WIFI_LOCAL_ONLY_REQUEST_RECEIVED\x10\xb4\x05\x12\x30\n+ATOM_WIFI_LOCAL_ONLY_REQUEST_SCAN_TRIGGERED\x10\xb5\x05\x12#\n\x1e\x41TOM_WIFI_THREAD_TASK_EXECUTED\x10\xb6\x05\x12\x1c\n\x17\x41TOM_WIFI_STATE_CHANGED\x10\xbc\x05\x12!\n\x1c\x41TOM_WIFI_AWARE_CAPABILITIES\x10\xceO\x12\x1a\n\x15\x41TOM_WIFI_MODULE_INFO\x10\xd1O\x12\x1f\n\x1a\x41TOM_SETTINGS_SPA_REPORTED\x10\xee\x04\x12 \n\x1b\x41TOM_EXPRESS_EVENT_REPORTED\x10\x90\x04\x12+\n&ATOM_EXPRESS_HISTOGRAM_SAMPLE_REPORTED\x10\xd1\x04\x12$\n\x1f\x41TOM_EXPRESS_UID_EVENT_REPORTED\x10\x84\x05\x12/\n*ATOM_EXPRESS_UID_HISTOGRAM_SAMPLE_REPORTED\x10\x92\x05\x12,\n\'ATOM_PERMISSION_RATIONALE_DIALOG_VIEWED\x10\x85\x05\x12\x35\n0ATOM_PERMISSION_RATIONALE_DIALOG_ACTION_REPORTED\x10\x86\x05\x12;\n6ATOM_APP_DATA_SHARING_UPDATES_NOTIFICATION_INTERACTION\x10\x87\x05\x12\x32\n-ATOM_APP_DATA_SHARING_UPDATES_FRAGMENT_VIEWED\x10\x88\x05\x12;\n6ATOM_APP_DATA_SHARING_UPDATES_FRAGMENT_ACTION_REPORTED\x10\x89\x05\x12*\n%ATOM_WS_INCOMING_CALL_ACTION_REPORTED\x10\xf2\x04\x12(\n#ATOM_WS_CALL_DISCONNECTION_REPORTED\x10\xf3\x04\x12#\n\x1e\x41TOM_WS_CALL_DURATION_REPORTED\x10\xf4\x04\x12\x32\n-ATOM_WS_CALL_USER_EXPERIENCE_LATENCY_REPORTED\x10\xf5\x04\x12&\n!ATOM_WS_CALL_INTERACTION_REPORTED\x10\xf6\x04\x12%\n ATOM_FULL_SCREEN_INTENT_LAUNCHED\x10\xf7\x04\x12\x15\n\x10\x41TOM_BAL_ALLOWED\x10\xf8\x04\x12\"\n\x1d\x41TOM_IN_TASK_ACTIVITY_STARTED\x10\xad\x05\x12$\n\x1f\x41TOM_CACHED_APPS_HIGH_WATERMARK\x10\xcdO\x12\x1c\n\x17\x41TOM_ODREFRESH_REPORTED\x10\xee\x02\x12\x19\n\x14\x41TOM_ODSIGN_REPORTED\x10\xa4\x04\x12\x1c\n\x17\x41TOM_ART_DATUM_REPORTED\x10\xcc\x02\x12#\n\x1e\x41TOM_ART_DEVICE_DATUM_REPORTED\x10\xa6\x04\x12\"\n\x1d\x41TOM_ART_DATUM_DELTA_REPORTED\x10\xb5\x04\x12%\n ATOM_BACKGROUND_DEXOPT_JOB_ENDED\x10\xd3\x03\x12.\n)ATOM_WEAR_ADAPTIVE_SUSPEND_STATS_REPORTED\x10\xeb\x04\x12?\n:ATOM_WEAR_POWER_ANOMALY_SERVICE_OPERATIONAL_STATS_REPORTED\x10\xec\x04\x12\x39\n4ATOM_WEAR_POWER_ANOMALY_SERVICE_EVENT_STATS_REPORTED\x10\xed\x04\x12!\n\x1c\x41TOM_EMERGENCY_STATE_CHANGED\x10\xf9\x04\x12\x1b\n\x16\x41TOM_DND_STATE_CHANGED\x10\x91\x05\x12\x13\n\x0e\x41TOM_MTE_STATE\x10\xc5O\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&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\x19\n\x14\x41TOM_RKPD_POOL_STATS\x10\x98\x05\x12\x1f\n\x1a\x41TOM_RKPD_CLIENT_OPERATION\x10\x99\x05\x12$\n\x1f\x41TOM_AUTOFILL_UI_EVENT_REPORTED\x10\xdb\x04\x12(\n#ATOM_AUTOFILL_FILL_REQUEST_REPORTED\x10\xdc\x04\x12)\n$ATOM_AUTOFILL_FILL_RESPONSE_REPORTED\x10\xdd\x04\x12&\n!ATOM_AUTOFILL_SAVE_EVENT_REPORTED\x10\xde\x04\x12$\n\x1f\x41TOM_AUTOFILL_SESSION_COMMITTED\x10\xdf\x04\x12\x36\n1ATOM_AUTOFILL_FIELD_CLASSIFICATION_EVENT_REPORTED\x10\x93\x05\x12&\n!ATOM_TEST_EXTENSION_ATOM_REPORTED\x10\x94\x05\x12\'\n\"ATOM_TEST_RESTRICTED_ATOM_REPORTED\x10\xa0\x05\x12$\n\x1f\x41TOM_STATS_SOCKET_LOSS_REPORTED\x10\xf0\x05\x12\x1c\n\x17\x41TOM_PLUGIN_INITIALIZED\x10\x8f\x05\x12%\n ATOM_TV_LOW_POWER_STANDBY_POLICY\x10\xa7\x05\x12&\n!ATOM_LOCKSCREEN_SHORTCUT_SELECTED\x10\xe3\x04\x12\'\n\"ATOM_LOCKSCREEN_SHORTCUT_TRIGGERED\x10\xe4\x04\x12 \n\x1b\x41TOM_EMERGENCY_NUMBERS_INFO\x10\xc4O\x12$\n\x1f\x41TOM_QUALIFIED_RAT_LIST_CHANGED\x10\xfa\x04\x12!\n\x1c\x41TOM_QNS_IMS_CALL_DROP_STATS\x10\xfb\x04\x12*\n%ATOM_QNS_FALLBACK_RESTRICTION_CHANGED\x10\xfc\x04\x12*\n%ATOM_QNS_RAT_PREFERENCE_MISMATCH_INFO\x10\xc1O\x12\"\n\x1d\x41TOM_QNS_HANDOVER_TIME_MILLIS\x10\xc2O\x12\x1f\n\x1a\x41TOM_QNS_HANDOVER_PINGPONG\x10\xc3O\x12\x1e\n\x19\x41TOM_SATELLITE_CONTROLLER\x10\xc6O\x12\x1b\n\x16\x41TOM_SATELLITE_SESSION\x10\xc7O\x12%\n ATOM_SATELLITE_INCOMING_DATAGRAM\x10\xc8O\x12%\n ATOM_SATELLITE_OUTGOING_DATAGRAM\x10\xc9O\x12\x1d\n\x18\x41TOM_SATELLITE_PROVISION\x10\xcaO\x12+\n&ATOM_SATELLITE_SOS_MESSAGE_RECOMMENDER\x10\xcbO\x12 \n\x1b\x41TOM_IKE_SESSION_TERMINATED\x10\xa6\x05\x12.\n)ATOM_IKE_LIVENESS_CHECK_SESSION_VALIDATED\x10\xf8\x05\x12/\n*ATOM_BLUETOOTH_HASHED_DEVICE_NAME_REPORTED\x10\xe5\x04\x12/\n*ATOM_BLUETOOTH_L2CAP_COC_CLIENT_CONNECTION\x10\xe6\x04\x12/\n*ATOM_BLUETOOTH_L2CAP_COC_SERVER_CONNECTION\x10\xe7\x04\x12(\n#ATOM_BLUETOOTH_LE_SESSION_CONNECTED\x10\x90\x05\x12\x33\n.ATOM_RESTRICTED_BLUETOOTH_DEVICE_NAME_REPORTED\x10\x9a\x05\x12\x30\n+ATOM_BLUETOOTH_PROFILE_CONNECTION_ATTEMPTED\x10\xb8\x05\x12&\n!ATOM_HEALTH_CONNECT_UI_IMPRESSION\x10\xef\x04\x12\'\n\"ATOM_HEALTH_CONNECT_UI_INTERACTION\x10\xf0\x04\x12,\n\'ATOM_HEALTH_CONNECT_APP_OPENED_REPORTED\x10\xf1\x04\x12#\n\x1e\x41TOM_HEALTH_CONNECT_API_CALLED\x10\xe8\x04\x12$\n\x1f\x41TOM_HEALTH_CONNECT_USAGE_STATS\x10\xe9\x04\x12&\n!ATOM_HEALTH_CONNECT_STORAGE_STATS\x10\xea\x04\x12$\n\x1f\x41TOM_HEALTH_CONNECT_API_INVOKED\x10\x83\x05\x12#\n\x1e\x41TOM_EXERCISE_ROUTE_API_CALLED\x10\x8e\x05\x12\x13\n\x0e\x41TOM_ATOM_9999\x10\x8fN\x12\x15\n\x0f\x41TOM_ATOM_99999\x10\x9f\x8d\x06\x12/\n*ATOM_THREADNETWORK_TELEMETRY_DATA_REPORTED\x10\xe2\x05\x12+\n&ATOM_THREADNETWORK_TOPO_ENTRY_REPEATED\x10\xe3\x05\x12,\n\'ATOM_THREADNETWORK_DEVICE_INFO_REPORTED\x10\xe4\x05\x12!\n\x1c\x41TOM_EMERGENCY_NUMBER_DIALED\x10\xfd\x04\x12\x1c\n\x17\x41TOM_SANDBOX_API_CALLED\x10\xe8\x03\x12)\n$ATOM_SANDBOX_ACTIVITY_EVENT_OCCURRED\x10\xdf\x05\x12\x1d\n\x18\x41TOM_SANDBOX_SDK_STORAGE\x10\xafO\x12\x1f\n\x1a\x41TOM_CRONET_ENGINE_CREATED\x10\xbf\x05\x12!\n\x1c\x41TOM_CRONET_TRAFFIC_REPORTED\x10\xc0\x05\x12+\n&ATOM_CRONET_ENGINE_BUILDER_INITIALIZED\x10\xfa\x05\x12\'\n\"ATOM_CRONET_HTTP_FLAGS_INITIALIZED\x10\xfb\x05\x12\x1c\n\x17\x41TOM_CRONET_INITIALIZED\x10\xfc\x05\x12\'\n\"ATOM_DAILY_KEEPALIVE_INFO_REPORTED\x10\x8a\x05\x12$\n\x1f\x41TOM_IP_CLIENT_RA_INFO_REPORTED\x10\x8a\x06\x12#\n\x1e\x41TOM_APF_SESSION_INFO_REPORTED\x10\x89\x06\x12\'\n\"ATOM_CREDENTIAL_MANAGER_API_CALLED\x10\xc9\x04\x12\x30\n+ATOM_CREDENTIAL_MANAGER_INIT_PHASE_REPORTED\x10\x8b\x05\x12\x35\n0ATOM_CREDENTIAL_MANAGER_CANDIDATE_PHASE_REPORTED\x10\x8c\x05\x12\x31\n,ATOM_CREDENTIAL_MANAGER_FINAL_PHASE_REPORTED\x10\x8d\x05\x12+\n&ATOM_CREDENTIAL_MANAGER_TOTAL_REPORTED\x10\x9b\x05\x12\x30\n+ATOM_CREDENTIAL_MANAGER_FINALNOUID_REPORTED\x10\x9c\x05\x12)\n$ATOM_CREDENTIAL_MANAGER_GET_REPORTED\x10\x9d\x05\x12\x30\n+ATOM_CREDENTIAL_MANAGER_AUTH_CLICK_REPORTED\x10\x9e\x05\x12)\n$ATOM_CREDENTIAL_MANAGER_APIV2_CALLED\x10\x9f\x05\x12\x1b\n\x16\x41TOM_UWB_ACTIVITY_INFO\x10\xccO\x12\x1f\n\x1a\x41TOM_MEDIA_ACTION_REPORTED\x10\xe0\x04\x12!\n\x1c\x41TOM_MEDIA_CONTROLS_LAUNCHED\x10\xe1\x04\x12/\n*ATOM_MEDIA_CODEC_RECLAIM_REQUEST_COMPLETED\x10\xd8\x04\x12\x1d\n\x18\x41TOM_MEDIA_CODEC_STARTED\x10\x81\x05\x12\x1d\n\x18\x41TOM_MEDIA_CODEC_STOPPED\x10\x82\x05\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_RENDERED\x10\xac\x05*\xa5\x07\n\x0fMeminfoCounters\x12\x17\n\x13MEMINFO_UNSPECIFIED\x10\x00\x12\x15\n\x11MEMINFO_MEM_TOTAL\x10\x01\x12\x14\n\x10MEMINFO_MEM_FREE\x10\x02\x12\x19\n\x15MEMINFO_MEM_AVAILABLE\x10\x03\x12\x13\n\x0fMEMINFO_BUFFERS\x10\x04\x12\x12\n\x0eMEMINFO_CACHED\x10\x05\x12\x17\n\x13MEMINFO_SWAP_CACHED\x10\x06\x12\x12\n\x0eMEMINFO_ACTIVE\x10\x07\x12\x14\n\x10MEMINFO_INACTIVE\x10\x08\x12\x17\n\x13MEMINFO_ACTIVE_ANON\x10\t\x12\x19\n\x15MEMINFO_INACTIVE_ANON\x10\n\x12\x17\n\x13MEMINFO_ACTIVE_FILE\x10\x0b\x12\x19\n\x15MEMINFO_INACTIVE_FILE\x10\x0c\x12\x17\n\x13MEMINFO_UNEVICTABLE\x10\r\x12\x13\n\x0fMEMINFO_MLOCKED\x10\x0e\x12\x16\n\x12MEMINFO_SWAP_TOTAL\x10\x0f\x12\x15\n\x11MEMINFO_SWAP_FREE\x10\x10\x12\x11\n\rMEMINFO_DIRTY\x10\x11\x12\x15\n\x11MEMINFO_WRITEBACK\x10\x12\x12\x16\n\x12MEMINFO_ANON_PAGES\x10\x13\x12\x12\n\x0eMEMINFO_MAPPED\x10\x14\x12\x11\n\rMEMINFO_SHMEM\x10\x15\x12\x10\n\x0cMEMINFO_SLAB\x10\x16\x12\x1c\n\x18MEMINFO_SLAB_RECLAIMABLE\x10\x17\x12\x1e\n\x1aMEMINFO_SLAB_UNRECLAIMABLE\x10\x18\x12\x18\n\x14MEMINFO_KERNEL_STACK\x10\x19\x12\x17\n\x13MEMINFO_PAGE_TABLES\x10\x1a\x12\x18\n\x14MEMINFO_COMMIT_LIMIT\x10\x1b\x12\x17\n\x13MEMINFO_COMMITED_AS\x10\x1c\x12\x19\n\x15MEMINFO_VMALLOC_TOTAL\x10\x1d\x12\x18\n\x14MEMINFO_VMALLOC_USED\x10\x1e\x12\x19\n\x15MEMINFO_VMALLOC_CHUNK\x10\x1f\x12\x15\n\x11MEMINFO_CMA_TOTAL\x10 \x12\x14\n\x10MEMINFO_CMA_FREE\x10!\x12\x0f\n\x0bMEMINFO_GPU\x10\"\x12\x10\n\x0cMEMINFO_ZRAM\x10#\x12\x10\n\x0cMEMINFO_MISC\x10$\x12\x14\n\x10MEMINFO_ION_HEAP\x10%\x12\x19\n\x15MEMINFO_ION_HEAP_POOL\x10&*\x81,\n\x0eVmstatCounters\x12\x16\n\x12VMSTAT_UNSPECIFIED\x10\x00\x12\x18\n\x14VMSTAT_NR_FREE_PAGES\x10\x01\x12\x19\n\x15VMSTAT_NR_ALLOC_BATCH\x10\x02\x12\x1b\n\x17VMSTAT_NR_INACTIVE_ANON\x10\x03\x12\x19\n\x15VMSTAT_NR_ACTIVE_ANON\x10\x04\x12\x1b\n\x17VMSTAT_NR_INACTIVE_FILE\x10\x05\x12\x19\n\x15VMSTAT_NR_ACTIVE_FILE\x10\x06\x12\x19\n\x15VMSTAT_NR_UNEVICTABLE\x10\x07\x12\x13\n\x0fVMSTAT_NR_MLOCK\x10\x08\x12\x18\n\x14VMSTAT_NR_ANON_PAGES\x10\t\x12\x14\n\x10VMSTAT_NR_MAPPED\x10\n\x12\x18\n\x14VMSTAT_NR_FILE_PAGES\x10\x0b\x12\x13\n\x0fVMSTAT_NR_DIRTY\x10\x0c\x12\x17\n\x13VMSTAT_NR_WRITEBACK\x10\r\x12\x1e\n\x1aVMSTAT_NR_SLAB_RECLAIMABLE\x10\x0e\x12 \n\x1cVMSTAT_NR_SLAB_UNRECLAIMABLE\x10\x0f\x12\x1e\n\x1aVMSTAT_NR_PAGE_TABLE_PAGES\x10\x10\x12\x1a\n\x16VMSTAT_NR_KERNEL_STACK\x10\x11\x12\x16\n\x12VMSTAT_NR_OVERHEAD\x10\x12\x12\x16\n\x12VMSTAT_NR_UNSTABLE\x10\x13\x12\x14\n\x10VMSTAT_NR_BOUNCE\x10\x14\x12\x1a\n\x16VMSTAT_NR_VMSCAN_WRITE\x10\x15\x12&\n\"VMSTAT_NR_VMSCAN_IMMEDIATE_RECLAIM\x10\x16\x12\x1c\n\x18VMSTAT_NR_WRITEBACK_TEMP\x10\x17\x12\x1b\n\x17VMSTAT_NR_ISOLATED_ANON\x10\x18\x12\x1b\n\x17VMSTAT_NR_ISOLATED_FILE\x10\x19\x12\x13\n\x0fVMSTAT_NR_SHMEM\x10\x1a\x12\x15\n\x11VMSTAT_NR_DIRTIED\x10\x1b\x12\x15\n\x11VMSTAT_NR_WRITTEN\x10\x1c\x12\x1b\n\x17VMSTAT_NR_PAGES_SCANNED\x10\x1d\x12\x1d\n\x19VMSTAT_WORKINGSET_REFAULT\x10\x1e\x12\x1e\n\x1aVMSTAT_WORKINGSET_ACTIVATE\x10\x1f\x12!\n\x1dVMSTAT_WORKINGSET_NODERECLAIM\x10 \x12(\n$VMSTAT_NR_ANON_TRANSPARENT_HUGEPAGES\x10!\x12\x16\n\x12VMSTAT_NR_FREE_CMA\x10\"\x12\x17\n\x13VMSTAT_NR_SWAPCACHE\x10#\x12\x1d\n\x19VMSTAT_NR_DIRTY_THRESHOLD\x10$\x12(\n$VMSTAT_NR_DIRTY_BACKGROUND_THRESHOLD\x10%\x12\x11\n\rVMSTAT_PGPGIN\x10&\x12\x12\n\x0eVMSTAT_PGPGOUT\x10\'\x12\x17\n\x13VMSTAT_PGPGOUTCLEAN\x10(\x12\x11\n\rVMSTAT_PSWPIN\x10)\x12\x12\n\x0eVMSTAT_PSWPOUT\x10*\x12\x16\n\x12VMSTAT_PGALLOC_DMA\x10+\x12\x19\n\x15VMSTAT_PGALLOC_NORMAL\x10,\x12\x1a\n\x16VMSTAT_PGALLOC_MOVABLE\x10-\x12\x11\n\rVMSTAT_PGFREE\x10.\x12\x15\n\x11VMSTAT_PGACTIVATE\x10/\x12\x17\n\x13VMSTAT_PGDEACTIVATE\x10\x30\x12\x12\n\x0eVMSTAT_PGFAULT\x10\x31\x12\x15\n\x11VMSTAT_PGMAJFAULT\x10\x32\x12\x17\n\x13VMSTAT_PGREFILL_DMA\x10\x33\x12\x1a\n\x16VMSTAT_PGREFILL_NORMAL\x10\x34\x12\x1b\n\x17VMSTAT_PGREFILL_MOVABLE\x10\x35\x12\x1d\n\x19VMSTAT_PGSTEAL_KSWAPD_DMA\x10\x36\x12 \n\x1cVMSTAT_PGSTEAL_KSWAPD_NORMAL\x10\x37\x12!\n\x1dVMSTAT_PGSTEAL_KSWAPD_MOVABLE\x10\x38\x12\x1d\n\x19VMSTAT_PGSTEAL_DIRECT_DMA\x10\x39\x12 \n\x1cVMSTAT_PGSTEAL_DIRECT_NORMAL\x10:\x12!\n\x1dVMSTAT_PGSTEAL_DIRECT_MOVABLE\x10;\x12\x1c\n\x18VMSTAT_PGSCAN_KSWAPD_DMA\x10<\x12\x1f\n\x1bVMSTAT_PGSCAN_KSWAPD_NORMAL\x10=\x12 \n\x1cVMSTAT_PGSCAN_KSWAPD_MOVABLE\x10>\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\x42+Z)github.com/google/perfetto/perfetto_proto') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.perfetto_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z)github.com/google/perfetto/perfetto_proto' + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['gpu_counter_descriptor']._loaded_options = None + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['gpu_counter_descriptor']._serialized_options = b'(\001' + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['track_event_descriptor']._loaded_options = None + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['track_event_descriptor']._serialized_options = b'(\001' + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['ftrace_descriptor']._loaded_options = None + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['ftrace_descriptor']._serialized_options = b'(\001' + _globals['_FTRACECONFIG'].fields_by_name['initialize_ksyms_synchronously_for_testing']._loaded_options = None + _globals['_FTRACECONFIG'].fields_by_name['initialize_ksyms_synchronously_for_testing']._serialized_options = b'\030\001' + _globals['_PROCESSSTATSCONFIG_QUIRKS'].values_by_name["DISABLE_INITIAL_DUMP"]._loaded_options = None + _globals['_PROCESSSTATSCONFIG_QUIRKS'].values_by_name["DISABLE_INITIAL_DUMP"]._serialized_options = b'\010\001' + _globals['_DATASOURCECONFIG'].fields_by_name['ftrace_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['ftrace_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['inode_file_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['inode_file_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['process_stats_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['process_stats_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['sys_stats_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['sys_stats_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['heapprofd_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['heapprofd_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['java_hprof_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['java_hprof_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_power_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_power_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_log_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_log_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['gpu_counter_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['gpu_counter_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_game_intervention_list_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_game_intervention_list_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['packages_list_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['packages_list_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['perf_event_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['perf_event_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['vulkan_memory_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['vulkan_memory_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['track_event_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['track_event_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_polled_state_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_polled_state_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_system_property_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_system_property_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['statsd_tracing_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['statsd_tracing_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['v8_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['v8_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['network_packet_trace_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['network_packet_trace_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['surfaceflinger_layers_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['surfaceflinger_layers_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['surfaceflinger_transactions_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['surfaceflinger_transactions_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_sdk_sysprop_guard_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_sdk_sysprop_guard_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['etw_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['etw_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['protolog_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['protolog_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_input_event_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_input_event_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['pixel_modem_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['pixel_modem_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['windowmanager_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['windowmanager_config']._serialized_options = b'(\001' + _globals['_TRACECONFIG_GUARDRAILOVERRIDES'].fields_by_name['max_upload_per_day_bytes']._loaded_options = None + _globals['_TRACECONFIG_GUARDRAILOVERRIDES'].fields_by_name['max_upload_per_day_bytes']._serialized_options = b'\030\001' + _globals['_TRACECONFIG_INCIDENTREPORTCONFIG'].fields_by_name['skip_dropbox']._loaded_options = None + _globals['_TRACECONFIG_INCIDENTREPORTCONFIG'].fields_by_name['skip_dropbox']._serialized_options = b'\030\001' + _globals['_TRACECONFIG'].fields_by_name['trace_uuid_msb']._loaded_options = None + _globals['_TRACECONFIG'].fields_by_name['trace_uuid_msb']._serialized_options = b'\030\001' + _globals['_TRACECONFIG'].fields_by_name['trace_uuid_lsb']._loaded_options = None + _globals['_TRACECONFIG'].fields_by_name['trace_uuid_lsb']._serialized_options = b'\030\001' + _globals['_BUILTINCLOCK']._serialized_start=21566 + _globals['_BUILTINCLOCK']._serialized_end=21857 + _globals['_ANDROIDLOGID']._serialized_start=21860 + _globals['_ANDROIDLOGID']._serialized_end=22002 + _globals['_ANDROIDLOGPRIORITY']._serialized_start=22005 + _globals['_ANDROIDLOGPRIORITY']._serialized_end=22160 + _globals['_PROTOLOGLEVEL']._serialized_start=22163 + _globals['_PROTOLOGLEVEL']._serialized_end=22362 + _globals['_ATOMID']._serialized_start=22366 + _globals['_ATOMID']._serialized_end=57008 + _globals['_MEMINFOCOUNTERS']._serialized_start=57011 + _globals['_MEMINFOCOUNTERS']._serialized_end=57944 + _globals['_VMSTATCOUNTERS']._serialized_start=57947 + _globals['_VMSTATCOUNTERS']._serialized_end=63580 + _globals['_FTRACEDESCRIPTOR']._serialized_start=66 + _globals['_FTRACEDESCRIPTOR']._serialized_end=214 + _globals['_FTRACEDESCRIPTOR_ATRACECATEGORY']._serialized_start=163 + _globals['_FTRACEDESCRIPTOR_ATRACECATEGORY']._serialized_end=214 + _globals['_GPUCOUNTERDESCRIPTOR']._serialized_start=217 + _globals['_GPUCOUNTERDESCRIPTOR']._serialized_end=1679 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERSPEC']._serialized_start=486 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERSPEC']._serialized_end=884 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERBLOCK']._serialized_start=886 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERBLOCK']._serialized_end=1001 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERGROUP']._serialized_start=1003 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERGROUP']._serialized_end=1120 + _globals['_GPUCOUNTERDESCRIPTOR_MEASUREUNIT']._serialized_start=1123 + _globals['_GPUCOUNTERDESCRIPTOR_MEASUREUNIT']._serialized_end=1679 + _globals['_TRACKEVENTCATEGORY']._serialized_start=1681 + _globals['_TRACKEVENTCATEGORY']._serialized_end=1750 + _globals['_TRACKEVENTDESCRIPTOR']._serialized_start=1752 + _globals['_TRACKEVENTDESCRIPTOR']._serialized_end=1841 + _globals['_DATASOURCEDESCRIPTOR']._serialized_start=1844 + _globals['_DATASOURCEDESCRIPTOR']._serialized_end=2226 + _globals['_TRACINGSERVICESTATE']._serialized_start=2229 + _globals['_TRACINGSERVICESTATE']._serialized_end=3036 + _globals['_TRACINGSERVICESTATE_PRODUCER']._serialized_start=2588 + _globals['_TRACINGSERVICESTATE_PRODUCER']._serialized_end=2671 + _globals['_TRACINGSERVICESTATE_DATASOURCE']._serialized_start=2673 + _globals['_TRACINGSERVICESTATE_DATASOURCE']._serialized_end=2768 + _globals['_TRACINGSERVICESTATE_TRACINGSESSION']._serialized_start=2771 + _globals['_TRACINGSERVICESTATE_TRACINGSESSION']._serialized_end=3036 + _globals['_ANDROIDGAMEINTERVENTIONLISTCONFIG']._serialized_start=3038 + _globals['_ANDROIDGAMEINTERVENTIONLISTCONFIG']._serialized_end=3102 + _globals['_ANDROIDINPUTEVENTCONFIG']._serialized_start=3105 + _globals['_ANDROIDINPUTEVENTCONFIG']._serialized_end=3700 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACERULE']._serialized_start=3347 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACERULE']._serialized_end=3547 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACEMODE']._serialized_start=3549 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACEMODE']._serialized_end=3612 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACELEVEL']._serialized_start=3614 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACELEVEL']._serialized_end=3700 + _globals['_ANDROIDLOGCONFIG']._serialized_start=3703 + _globals['_ANDROIDLOGCONFIG']._serialized_end=3851 + _globals['_ANDROIDPOLLEDSTATECONFIG']._serialized_start=3853 + _globals['_ANDROIDPOLLEDSTATECONFIG']._serialized_end=3896 + _globals['_ANDROIDSDKSYSPROPGUARDCONFIG']._serialized_start=3899 + _globals['_ANDROIDSDKSYSPROPGUARDCONFIG']._serialized_end=4037 + _globals['_ANDROIDSYSTEMPROPERTYCONFIG']._serialized_start=4039 + _globals['_ANDROIDSYSTEMPROPERTYCONFIG']._serialized_end=4108 + _globals['_NETWORKPACKETTRACECONFIG']._serialized_start=4111 + _globals['_NETWORKPACKETTRACECONFIG']._serialized_end=4282 + _globals['_PACKAGESLISTCONFIG']._serialized_start=4284 + _globals['_PACKAGESLISTCONFIG']._serialized_end=4333 + _globals['_PIXELMODEMCONFIG']._serialized_start=4336 + _globals['_PIXELMODEMCONFIG']._serialized_end=4596 + _globals['_PIXELMODEMCONFIG_EVENTGROUP']._serialized_start=4488 + _globals['_PIXELMODEMCONFIG_EVENTGROUP']._serialized_end=4596 + _globals['_PROTOLOGCONFIG']._serialized_start=4599 + _globals['_PROTOLOGCONFIG']._serialized_end=4847 + _globals['_PROTOLOGCONFIG_TRACINGMODE']._serialized_start=4805 + _globals['_PROTOLOGCONFIG_TRACINGMODE']._serialized_end=4847 + _globals['_PROTOLOGGROUP']._serialized_start=4849 + _globals['_PROTOLOGGROUP']._serialized_end=4962 + _globals['_SURFACEFLINGERLAYERSCONFIG']._serialized_start=4965 + _globals['_SURFACEFLINGERLAYERSCONFIG']._serialized_end=5461 + _globals['_SURFACEFLINGERLAYERSCONFIG_MODE']._serialized_start=5135 + _globals['_SURFACEFLINGERLAYERSCONFIG_MODE']._serialized_end=5250 + _globals['_SURFACEFLINGERLAYERSCONFIG_TRACEFLAG']._serialized_start=5253 + _globals['_SURFACEFLINGERLAYERSCONFIG_TRACEFLAG']._serialized_end=5461 + _globals['_SURFACEFLINGERTRANSACTIONSCONFIG']._serialized_start=5464 + _globals['_SURFACEFLINGERTRANSACTIONSCONFIG']._serialized_end=5636 + _globals['_SURFACEFLINGERTRANSACTIONSCONFIG_MODE']._serialized_start=5570 + _globals['_SURFACEFLINGERTRANSACTIONSCONFIG_MODE']._serialized_end=5636 + _globals['_WINDOWMANAGERCONFIG']._serialized_start=5639 + _globals['_WINDOWMANAGERCONFIG']._serialized_end=6042 + _globals['_WINDOWMANAGERCONFIG_LOGFREQUENCY']._serialized_start=5803 + _globals['_WINDOWMANAGERCONFIG_LOGFREQUENCY']._serialized_end=5935 + _globals['_WINDOWMANAGERCONFIG_LOGLEVEL']._serialized_start=5937 + _globals['_WINDOWMANAGERCONFIG_LOGLEVEL']._serialized_end=6042 + _globals['_CHROMECONFIG']._serialized_start=6045 + _globals['_CHROMECONFIG']._serialized_end=6319 + _globals['_CHROMECONFIG_CLIENTPRIORITY']._serialized_start=6254 + _globals['_CHROMECONFIG_CLIENTPRIORITY']._serialized_end=6319 + _globals['_V8CONFIG']._serialized_start=6321 + _globals['_V8CONFIG']._serialized_end=6385 + _globals['_ETWCONFIG']._serialized_start=6387 + _globals['_ETWCONFIG']._serialized_end=6502 + _globals['_ETWCONFIG_KERNELFLAG']._serialized_start=6461 + _globals['_ETWCONFIG_KERNELFLAG']._serialized_end=6502 + _globals['_FTRACECONFIG']._serialized_start=6505 + _globals['_FTRACECONFIG']._serialized_end=7675 + _globals['_FTRACECONFIG_COMPACTSCHEDCONFIG']._serialized_start=7291 + _globals['_FTRACECONFIG_COMPACTSCHEDCONFIG']._serialized_end=7328 + _globals['_FTRACECONFIG_PRINTFILTER']._serialized_start=7331 + _globals['_FTRACECONFIG_PRINTFILTER']._serialized_end=7589 + _globals['_FTRACECONFIG_PRINTFILTER_RULE']._serialized_start=7410 + _globals['_FTRACECONFIG_PRINTFILTER_RULE']._serialized_end=7589 + _globals['_FTRACECONFIG_PRINTFILTER_RULE_ATRACEMESSAGE']._serialized_start=7535 + _globals['_FTRACECONFIG_PRINTFILTER_RULE_ATRACEMESSAGE']._serialized_end=7580 + _globals['_FTRACECONFIG_KSYMSMEMPOLICY']._serialized_start=7591 + _globals['_FTRACECONFIG_KSYMSMEMPOLICY']._serialized_end=7675 + _globals['_GPUCOUNTERCONFIG']._serialized_start=7677 + _globals['_GPUCOUNTERCONFIG']._serialized_end=7797 + _globals['_VULKANMEMORYCONFIG']._serialized_start=7799 + _globals['_VULKANMEMORYCONFIG']._serialized_end=7889 + _globals['_INODEFILECONFIG']._serialized_start=7892 + _globals['_INODEFILECONFIG']._serialized_end=8183 + _globals['_INODEFILECONFIG_MOUNTPOINTMAPPINGENTRY']._serialized_start=8119 + _globals['_INODEFILECONFIG_MOUNTPOINTMAPPINGENTRY']._serialized_end=8183 + _globals['_CONSOLECONFIG']._serialized_start=8186 + _globals['_CONSOLECONFIG']._serialized_end=8351 + _globals['_CONSOLECONFIG_OUTPUT']._serialized_start=8281 + _globals['_CONSOLECONFIG_OUTPUT']._serialized_end=8351 + _globals['_INTERCEPTORCONFIG']._serialized_start=8353 + _globals['_INTERCEPTORCONFIG']._serialized_end=8442 + _globals['_ANDROIDPOWERCONFIG']._serialized_start=8445 + _globals['_ANDROIDPOWERCONFIG']._serialized_end=8893 + _globals['_ANDROIDPOWERCONFIG_BATTERYCOUNTERS']._serialized_start=8686 + _globals['_ANDROIDPOWERCONFIG_BATTERYCOUNTERS']._serialized_end=8893 + _globals['_PROCESSSTATSCONFIG']._serialized_start=8896 + _globals['_PROCESSSTATSCONFIG']._serialized_end=9318 + _globals['_PROCESSSTATSCONFIG_QUIRKS']._serialized_start=9221 + _globals['_PROCESSSTATSCONFIG_QUIRKS']._serialized_end=9306 + _globals['_HEAPPROFDCONFIG']._serialized_start=9321 + _globals['_HEAPPROFDCONFIG']._serialized_end=10165 + _globals['_HEAPPROFDCONFIG_CONTINUOUSDUMPCONFIG']._serialized_start=10088 + _globals['_HEAPPROFDCONFIG_CONTINUOUSDUMPCONFIG']._serialized_end=10159 + _globals['_JAVAHPROFCONFIG']._serialized_start=10168 + _globals['_JAVAHPROFCONFIG']._serialized_end=10521 + _globals['_JAVAHPROFCONFIG_CONTINUOUSDUMPCONFIG']._serialized_start=10417 + _globals['_JAVAHPROFCONFIG_CONTINUOUSDUMPCONFIG']._serialized_end=10521 + _globals['_PERFEVENTS']._serialized_start=10524 + _globals['_PERFEVENTS']._serialized_end=11619 + _globals['_PERFEVENTS_TIMEBASE']._serialized_start=10539 + _globals['_PERFEVENTS_TIMEBASE']._serialized_end=10864 + _globals['_PERFEVENTS_TRACEPOINT']._serialized_start=10866 + _globals['_PERFEVENTS_TRACEPOINT']._serialized_end=10908 + _globals['_PERFEVENTS_RAWEVENT']._serialized_start=10910 + _globals['_PERFEVENTS_RAWEVENT']._serialized_end=10984 + _globals['_PERFEVENTS_COUNTER']._serialized_start=10987 + _globals['_PERFEVENTS_COUNTER']._serialized_end=11475 + _globals['_PERFEVENTS_PERFCLOCK']._serialized_start=11478 + _globals['_PERFEVENTS_PERFCLOCK']._serialized_end=11619 + _globals['_PERFEVENTCONFIG']._serialized_start=11622 + _globals['_PERFEVENTCONFIG']._serialized_end=12605 + _globals['_PERFEVENTCONFIG_CALLSTACKSAMPLING']._serialized_start=12204 + _globals['_PERFEVENTCONFIG_CALLSTACKSAMPLING']._serialized_end=12367 + _globals['_PERFEVENTCONFIG_SCOPE']._serialized_start=12370 + _globals['_PERFEVENTCONFIG_SCOPE']._serialized_end=12530 + _globals['_PERFEVENTCONFIG_UNWINDMODE']._serialized_start=12532 + _globals['_PERFEVENTCONFIG_UNWINDMODE']._serialized_end=12599 + _globals['_STATSDTRACINGCONFIG']._serialized_start=12608 + _globals['_STATSDTRACINGCONFIG']._serialized_end=12762 + _globals['_STATSDPULLATOMCONFIG']._serialized_start=12765 + _globals['_STATSDPULLATOMCONFIG']._serialized_end=12905 + _globals['_SYSSTATSCONFIG']._serialized_start=12908 + _globals['_SYSSTATSCONFIG']._serialized_end=13501 + _globals['_SYSSTATSCONFIG_STATCOUNTERS']._serialized_start=13378 + _globals['_SYSSTATSCONFIG_STATCOUNTERS']._serialized_end=13501 + _globals['_SYSTEMINFOCONFIG']._serialized_start=13503 + _globals['_SYSTEMINFOCONFIG']._serialized_end=13521 + _globals['_TESTCONFIG']._serialized_start=13524 + _globals['_TESTCONFIG']._serialized_end=14049 + _globals['_TESTCONFIG_DUMMYFIELDS']._serialized_start=13726 + _globals['_TESTCONFIG_DUMMYFIELDS']._serialized_end=14049 + _globals['_TRACKEVENTCONFIG']._serialized_start=14052 + _globals['_TRACKEVENTCONFIG']._serialized_end=14354 + _globals['_DATASOURCECONFIG']._serialized_start=14357 + _globals['_DATASOURCECONFIG']._serialized_end=16975 + _globals['_DATASOURCECONFIG_SESSIONINITIATOR']._serialized_start=16871 + _globals['_DATASOURCECONFIG_SESSIONINITIATOR']._serialized_end=16962 + _globals['_TRACECONFIG']._serialized_start=16978 + _globals['_TRACECONFIG']._serialized_end=21563 + _globals['_TRACECONFIG_BUFFERCONFIG']._serialized_start=18697 + _globals['_TRACECONFIG_BUFFERCONFIG']._serialized_end=18931 + _globals['_TRACECONFIG_BUFFERCONFIG_FILLPOLICY']._serialized_start=18860 + _globals['_TRACECONFIG_BUFFERCONFIG_FILLPOLICY']._serialized_end=18919 + _globals['_TRACECONFIG_DATASOURCE']._serialized_start=18934 + _globals['_TRACECONFIG_DATASOURCE']._serialized_end=19063 + _globals['_TRACECONFIG_BUILTINDATASOURCE']._serialized_start=19066 + _globals['_TRACECONFIG_BUILTINDATASOURCE']._serialized_end=19385 + _globals['_TRACECONFIG_PRODUCERCONFIG']._serialized_start=19387 + _globals['_TRACECONFIG_PRODUCERCONFIG']._serialized_end=19469 + _globals['_TRACECONFIG_STATSDMETADATA']._serialized_start=19472 + _globals['_TRACECONFIG_STATSDMETADATA']._serialized_end=19614 + _globals['_TRACECONFIG_GUARDRAILOVERRIDES']._serialized_start=19616 + _globals['_TRACECONFIG_GUARDRAILOVERRIDES']._serialized_end=19710 + _globals['_TRACECONFIG_TRIGGERCONFIG']._serialized_start=19713 + _globals['_TRACECONFIG_TRIGGERCONFIG']._serialized_end=20171 + _globals['_TRACECONFIG_TRIGGERCONFIG_TRIGGER']._serialized_start=19947 + _globals['_TRACECONFIG_TRIGGERCONFIG_TRIGGER']._serialized_end=20070 + _globals['_TRACECONFIG_TRIGGERCONFIG_TRIGGERMODE']._serialized_start=20072 + _globals['_TRACECONFIG_TRIGGERCONFIG_TRIGGERMODE']._serialized_end=20165 + _globals['_TRACECONFIG_INCREMENTALSTATECONFIG']._serialized_start=20173 + _globals['_TRACECONFIG_INCREMENTALSTATECONFIG']._serialized_end=20222 + _globals['_TRACECONFIG_INCIDENTREPORTCONFIG']._serialized_start=20225 + _globals['_TRACECONFIG_INCIDENTREPORTCONFIG']._serialized_end=20376 + _globals['_TRACECONFIG_TRACEFILTER']._serialized_start=20379 + _globals['_TRACECONFIG_TRACEFILTER']._serialized_end=20976 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERRULE']._serialized_start=20523 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERRULE']._serialized_end=20677 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERCHAIN']._serialized_start=20679 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERCHAIN']._serialized_end=20772 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERPOLICY']._serialized_start=20775 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERPOLICY']._serialized_end=20976 + _globals['_TRACECONFIG_ANDROIDREPORTCONFIG']._serialized_start=20979 + _globals['_TRACECONFIG_ANDROIDREPORTCONFIG']._serialized_end=21130 + _globals['_TRACECONFIG_CMDTRACESTARTDELAY']._serialized_start=21132 + _globals['_TRACECONFIG_CMDTRACESTARTDELAY']._serialized_end=21196 + _globals['_TRACECONFIG_SESSIONSEMAPHORE']._serialized_start=21198 + _globals['_TRACECONFIG_SESSIONSEMAPHORE']._serialized_end=21263 + _globals['_TRACECONFIG_LOCKDOWNMODEOPERATION']._serialized_start=21265 + _globals['_TRACECONFIG_LOCKDOWNMODEOPERATION']._serialized_end=21350 + _globals['_TRACECONFIG_COMPRESSIONTYPE']._serialized_start=21352 + _globals['_TRACECONFIG_COMPRESSIONTYPE']._serialized_end=21433 + _globals['_TRACECONFIG_STATSDLOGGING']._serialized_start=21435 + _globals['_TRACECONFIG_STATSDLOGGING']._serialized_end=21539 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/power/__init__.py b/lglpy/timeline/protos/perfetto/config/power/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/power/android_power_config_pb2.py b/lglpy/timeline/protos/perfetto/config/power/android_power_config_pb2.py new file mode 100644 index 0000000..9465847 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/power/android_power_config_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/power/android_power_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/power/android_power_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7protos/perfetto/config/power/android_power_config.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.power.android_power_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDPOWERCONFIG']._serialized_start=77 + _globals['_ANDROIDPOWERCONFIG']._serialized_end=525 + _globals['_ANDROIDPOWERCONFIG_BATTERYCOUNTERS']._serialized_start=318 + _globals['_ANDROIDPOWERCONFIG_BATTERYCOUNTERS']._serialized_end=525 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/process_stats/__init__.py b/lglpy/timeline/protos/perfetto/config/process_stats/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/process_stats/process_stats_config_pb2.py b/lglpy/timeline/protos/perfetto/config/process_stats/process_stats_config_pb2.py new file mode 100644 index 0000000..a4dd415 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/process_stats/process_stats_config_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/process_stats/process_stats_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/process_stats/process_stats_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?protos/perfetto/config/process_stats/process_stats_config.proto\x12\x0fperfetto.protos\"\xa6\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\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\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\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.process_stats.process_stats_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PROCESSSTATSCONFIG_QUIRKS'].values_by_name["DISABLE_INITIAL_DUMP"]._loaded_options = None + _globals['_PROCESSSTATSCONFIG_QUIRKS'].values_by_name["DISABLE_INITIAL_DUMP"]._serialized_options = b'\010\001' + _globals['_PROCESSSTATSCONFIG']._serialized_start=85 + _globals['_PROCESSSTATSCONFIG']._serialized_end=507 + _globals['_PROCESSSTATSCONFIG_QUIRKS']._serialized_start=410 + _globals['_PROCESSSTATSCONFIG_QUIRKS']._serialized_end=495 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/profiling/__init__.py b/lglpy/timeline/protos/perfetto/config/profiling/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/profiling/heapprofd_config_pb2.py b/lglpy/timeline/protos/perfetto/config/profiling/heapprofd_config_pb2.py new file mode 100644 index 0000000..9981081 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/profiling/heapprofd_config_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/profiling/heapprofd_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/profiling/heapprofd_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7protos/perfetto/config/profiling/heapprofd_config.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.profiling.heapprofd_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_HEAPPROFDCONFIG']._serialized_start=77 + _globals['_HEAPPROFDCONFIG']._serialized_end=921 + _globals['_HEAPPROFDCONFIG_CONTINUOUSDUMPCONFIG']._serialized_start=844 + _globals['_HEAPPROFDCONFIG_CONTINUOUSDUMPCONFIG']._serialized_end=915 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/profiling/java_hprof_config_pb2.py b/lglpy/timeline/protos/perfetto/config/profiling/java_hprof_config_pb2.py new file mode 100644 index 0000000..f7023d3 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/profiling/java_hprof_config_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/profiling/java_hprof_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/profiling/java_hprof_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8protos/perfetto/config/profiling/java_hprof_config.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.profiling.java_hprof_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_JAVAHPROFCONFIG']._serialized_start=78 + _globals['_JAVAHPROFCONFIG']._serialized_end=431 + _globals['_JAVAHPROFCONFIG_CONTINUOUSDUMPCONFIG']._serialized_start=327 + _globals['_JAVAHPROFCONFIG_CONTINUOUSDUMPCONFIG']._serialized_end=431 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/profiling/perf_event_config_pb2.py b/lglpy/timeline/protos/perfetto/config/profiling/perf_event_config_pb2.py new file mode 100644 index 0000000..717b3f5 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/profiling/perf_event_config_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/profiling/perf_event_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/profiling/perf_event_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import perf_events_pb2 as protos_dot_perfetto_dot_common_dot_perf__events__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8protos/perfetto/config/profiling/perf_event_config.proto\x12\x0fperfetto.protos\x1a(protos/perfetto/common/perf_events.proto\"\xd7\x07\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\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\"C\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02J\x04\x08\x0e\x10\x0f') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.profiling.perf_event_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PERFEVENTCONFIG']._serialized_start=120 + _globals['_PERFEVENTCONFIG']._serialized_end=1103 + _globals['_PERFEVENTCONFIG_CALLSTACKSAMPLING']._serialized_start=702 + _globals['_PERFEVENTCONFIG_CALLSTACKSAMPLING']._serialized_end=865 + _globals['_PERFEVENTCONFIG_SCOPE']._serialized_start=868 + _globals['_PERFEVENTCONFIG_SCOPE']._serialized_end=1028 + _globals['_PERFEVENTCONFIG_UNWINDMODE']._serialized_start=1030 + _globals['_PERFEVENTCONFIG_UNWINDMODE']._serialized_end=1097 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/statsd/__init__.py b/lglpy/timeline/protos/perfetto/config/statsd/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/statsd/atom_ids_pb2.py b/lglpy/timeline/protos/perfetto/config/statsd/atom_ids_pb2.py new file mode 100644 index 0000000..00a9300 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/statsd/atom_ids_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/statsd/atom_ids.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/statsd/atom_ids.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,protos/perfetto/config/statsd/atom_ids.proto\x12\x0fperfetto.protos*\xd2\x8e\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\x1a\n\x16\x41TOM_LMK_STATE_CHANGED\x10\x36\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\x17\n\x13\x41TOM_DAVEY_OCCURRED\x10:\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)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\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_CAMERA_COMPAT_CONTROL_EVENT_REPORTED\x10\x9b\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 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\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)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\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\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\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\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\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*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\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_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-\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\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\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(\n#ATOM_GRAMMATICAL_INFLECTION_CHANGED\x10\xc8\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\x1e\n\x19\x41TOM_WS_WEAR_TIME_SESSION\x10\xe2\x04\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\x1c\x41TOM_WIFI_AWARE_NDP_REPORTED\x10\xfe\x04\x12$\n\x1f\x41TOM_WIFI_AWARE_ATTACH_REPORTED\x10\xff\x04\x12&\n!ATOM_WIFI_SELF_RECOVERY_TRIGGERED\x10\x95\x05\x12\x19\n\x14\x41TOM_SOFT_AP_STARTED\x10\xa8\x05\x12\x19\n\x14\x41TOM_SOFT_AP_STOPPED\x10\xa9\x05\x12\x1c\n\x17\x41TOM_WIFI_LOCK_RELEASED\x10\xaf\x05\x12\x1f\n\x1a\x41TOM_WIFI_LOCK_DEACTIVATED\x10\xb0\x05\x12\x1b\n\x16\x41TOM_WIFI_CONFIG_SAVED\x10\xb1\x05\x12+\n&ATOM_WIFI_AWARE_RESOURCE_USING_CHANGED\x10\xb2\x05\x12#\n\x1e\x41TOM_WIFI_AWARE_HAL_API_CALLED\x10\xb3\x05\x12*\n%ATOM_WIFI_LOCAL_ONLY_REQUEST_RECEIVED\x10\xb4\x05\x12\x30\n+ATOM_WIFI_LOCAL_ONLY_REQUEST_SCAN_TRIGGERED\x10\xb5\x05\x12#\n\x1e\x41TOM_WIFI_THREAD_TASK_EXECUTED\x10\xb6\x05\x12\x1c\n\x17\x41TOM_WIFI_STATE_CHANGED\x10\xbc\x05\x12!\n\x1c\x41TOM_WIFI_AWARE_CAPABILITIES\x10\xceO\x12\x1a\n\x15\x41TOM_WIFI_MODULE_INFO\x10\xd1O\x12\x1f\n\x1a\x41TOM_SETTINGS_SPA_REPORTED\x10\xee\x04\x12 \n\x1b\x41TOM_EXPRESS_EVENT_REPORTED\x10\x90\x04\x12+\n&ATOM_EXPRESS_HISTOGRAM_SAMPLE_REPORTED\x10\xd1\x04\x12$\n\x1f\x41TOM_EXPRESS_UID_EVENT_REPORTED\x10\x84\x05\x12/\n*ATOM_EXPRESS_UID_HISTOGRAM_SAMPLE_REPORTED\x10\x92\x05\x12,\n\'ATOM_PERMISSION_RATIONALE_DIALOG_VIEWED\x10\x85\x05\x12\x35\n0ATOM_PERMISSION_RATIONALE_DIALOG_ACTION_REPORTED\x10\x86\x05\x12;\n6ATOM_APP_DATA_SHARING_UPDATES_NOTIFICATION_INTERACTION\x10\x87\x05\x12\x32\n-ATOM_APP_DATA_SHARING_UPDATES_FRAGMENT_VIEWED\x10\x88\x05\x12;\n6ATOM_APP_DATA_SHARING_UPDATES_FRAGMENT_ACTION_REPORTED\x10\x89\x05\x12*\n%ATOM_WS_INCOMING_CALL_ACTION_REPORTED\x10\xf2\x04\x12(\n#ATOM_WS_CALL_DISCONNECTION_REPORTED\x10\xf3\x04\x12#\n\x1e\x41TOM_WS_CALL_DURATION_REPORTED\x10\xf4\x04\x12\x32\n-ATOM_WS_CALL_USER_EXPERIENCE_LATENCY_REPORTED\x10\xf5\x04\x12&\n!ATOM_WS_CALL_INTERACTION_REPORTED\x10\xf6\x04\x12%\n ATOM_FULL_SCREEN_INTENT_LAUNCHED\x10\xf7\x04\x12\x15\n\x10\x41TOM_BAL_ALLOWED\x10\xf8\x04\x12\"\n\x1d\x41TOM_IN_TASK_ACTIVITY_STARTED\x10\xad\x05\x12$\n\x1f\x41TOM_CACHED_APPS_HIGH_WATERMARK\x10\xcdO\x12\x1c\n\x17\x41TOM_ODREFRESH_REPORTED\x10\xee\x02\x12\x19\n\x14\x41TOM_ODSIGN_REPORTED\x10\xa4\x04\x12\x1c\n\x17\x41TOM_ART_DATUM_REPORTED\x10\xcc\x02\x12#\n\x1e\x41TOM_ART_DEVICE_DATUM_REPORTED\x10\xa6\x04\x12\"\n\x1d\x41TOM_ART_DATUM_DELTA_REPORTED\x10\xb5\x04\x12%\n ATOM_BACKGROUND_DEXOPT_JOB_ENDED\x10\xd3\x03\x12.\n)ATOM_WEAR_ADAPTIVE_SUSPEND_STATS_REPORTED\x10\xeb\x04\x12?\n:ATOM_WEAR_POWER_ANOMALY_SERVICE_OPERATIONAL_STATS_REPORTED\x10\xec\x04\x12\x39\n4ATOM_WEAR_POWER_ANOMALY_SERVICE_EVENT_STATS_REPORTED\x10\xed\x04\x12!\n\x1c\x41TOM_EMERGENCY_STATE_CHANGED\x10\xf9\x04\x12\x1b\n\x16\x41TOM_DND_STATE_CHANGED\x10\x91\x05\x12\x13\n\x0e\x41TOM_MTE_STATE\x10\xc5O\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&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\x19\n\x14\x41TOM_RKPD_POOL_STATS\x10\x98\x05\x12\x1f\n\x1a\x41TOM_RKPD_CLIENT_OPERATION\x10\x99\x05\x12$\n\x1f\x41TOM_AUTOFILL_UI_EVENT_REPORTED\x10\xdb\x04\x12(\n#ATOM_AUTOFILL_FILL_REQUEST_REPORTED\x10\xdc\x04\x12)\n$ATOM_AUTOFILL_FILL_RESPONSE_REPORTED\x10\xdd\x04\x12&\n!ATOM_AUTOFILL_SAVE_EVENT_REPORTED\x10\xde\x04\x12$\n\x1f\x41TOM_AUTOFILL_SESSION_COMMITTED\x10\xdf\x04\x12\x36\n1ATOM_AUTOFILL_FIELD_CLASSIFICATION_EVENT_REPORTED\x10\x93\x05\x12&\n!ATOM_TEST_EXTENSION_ATOM_REPORTED\x10\x94\x05\x12\'\n\"ATOM_TEST_RESTRICTED_ATOM_REPORTED\x10\xa0\x05\x12$\n\x1f\x41TOM_STATS_SOCKET_LOSS_REPORTED\x10\xf0\x05\x12\x1c\n\x17\x41TOM_PLUGIN_INITIALIZED\x10\x8f\x05\x12%\n ATOM_TV_LOW_POWER_STANDBY_POLICY\x10\xa7\x05\x12&\n!ATOM_LOCKSCREEN_SHORTCUT_SELECTED\x10\xe3\x04\x12\'\n\"ATOM_LOCKSCREEN_SHORTCUT_TRIGGERED\x10\xe4\x04\x12 \n\x1b\x41TOM_EMERGENCY_NUMBERS_INFO\x10\xc4O\x12$\n\x1f\x41TOM_QUALIFIED_RAT_LIST_CHANGED\x10\xfa\x04\x12!\n\x1c\x41TOM_QNS_IMS_CALL_DROP_STATS\x10\xfb\x04\x12*\n%ATOM_QNS_FALLBACK_RESTRICTION_CHANGED\x10\xfc\x04\x12*\n%ATOM_QNS_RAT_PREFERENCE_MISMATCH_INFO\x10\xc1O\x12\"\n\x1d\x41TOM_QNS_HANDOVER_TIME_MILLIS\x10\xc2O\x12\x1f\n\x1a\x41TOM_QNS_HANDOVER_PINGPONG\x10\xc3O\x12\x1e\n\x19\x41TOM_SATELLITE_CONTROLLER\x10\xc6O\x12\x1b\n\x16\x41TOM_SATELLITE_SESSION\x10\xc7O\x12%\n ATOM_SATELLITE_INCOMING_DATAGRAM\x10\xc8O\x12%\n ATOM_SATELLITE_OUTGOING_DATAGRAM\x10\xc9O\x12\x1d\n\x18\x41TOM_SATELLITE_PROVISION\x10\xcaO\x12+\n&ATOM_SATELLITE_SOS_MESSAGE_RECOMMENDER\x10\xcbO\x12 \n\x1b\x41TOM_IKE_SESSION_TERMINATED\x10\xa6\x05\x12.\n)ATOM_IKE_LIVENESS_CHECK_SESSION_VALIDATED\x10\xf8\x05\x12/\n*ATOM_BLUETOOTH_HASHED_DEVICE_NAME_REPORTED\x10\xe5\x04\x12/\n*ATOM_BLUETOOTH_L2CAP_COC_CLIENT_CONNECTION\x10\xe6\x04\x12/\n*ATOM_BLUETOOTH_L2CAP_COC_SERVER_CONNECTION\x10\xe7\x04\x12(\n#ATOM_BLUETOOTH_LE_SESSION_CONNECTED\x10\x90\x05\x12\x33\n.ATOM_RESTRICTED_BLUETOOTH_DEVICE_NAME_REPORTED\x10\x9a\x05\x12\x30\n+ATOM_BLUETOOTH_PROFILE_CONNECTION_ATTEMPTED\x10\xb8\x05\x12&\n!ATOM_HEALTH_CONNECT_UI_IMPRESSION\x10\xef\x04\x12\'\n\"ATOM_HEALTH_CONNECT_UI_INTERACTION\x10\xf0\x04\x12,\n\'ATOM_HEALTH_CONNECT_APP_OPENED_REPORTED\x10\xf1\x04\x12#\n\x1e\x41TOM_HEALTH_CONNECT_API_CALLED\x10\xe8\x04\x12$\n\x1f\x41TOM_HEALTH_CONNECT_USAGE_STATS\x10\xe9\x04\x12&\n!ATOM_HEALTH_CONNECT_STORAGE_STATS\x10\xea\x04\x12$\n\x1f\x41TOM_HEALTH_CONNECT_API_INVOKED\x10\x83\x05\x12#\n\x1e\x41TOM_EXERCISE_ROUTE_API_CALLED\x10\x8e\x05\x12\x13\n\x0e\x41TOM_ATOM_9999\x10\x8fN\x12\x15\n\x0f\x41TOM_ATOM_99999\x10\x9f\x8d\x06\x12/\n*ATOM_THREADNETWORK_TELEMETRY_DATA_REPORTED\x10\xe2\x05\x12+\n&ATOM_THREADNETWORK_TOPO_ENTRY_REPEATED\x10\xe3\x05\x12,\n\'ATOM_THREADNETWORK_DEVICE_INFO_REPORTED\x10\xe4\x05\x12!\n\x1c\x41TOM_EMERGENCY_NUMBER_DIALED\x10\xfd\x04\x12\x1c\n\x17\x41TOM_SANDBOX_API_CALLED\x10\xe8\x03\x12)\n$ATOM_SANDBOX_ACTIVITY_EVENT_OCCURRED\x10\xdf\x05\x12\x1d\n\x18\x41TOM_SANDBOX_SDK_STORAGE\x10\xafO\x12\x1f\n\x1a\x41TOM_CRONET_ENGINE_CREATED\x10\xbf\x05\x12!\n\x1c\x41TOM_CRONET_TRAFFIC_REPORTED\x10\xc0\x05\x12+\n&ATOM_CRONET_ENGINE_BUILDER_INITIALIZED\x10\xfa\x05\x12\'\n\"ATOM_CRONET_HTTP_FLAGS_INITIALIZED\x10\xfb\x05\x12\x1c\n\x17\x41TOM_CRONET_INITIALIZED\x10\xfc\x05\x12\'\n\"ATOM_DAILY_KEEPALIVE_INFO_REPORTED\x10\x8a\x05\x12$\n\x1f\x41TOM_IP_CLIENT_RA_INFO_REPORTED\x10\x8a\x06\x12#\n\x1e\x41TOM_APF_SESSION_INFO_REPORTED\x10\x89\x06\x12\'\n\"ATOM_CREDENTIAL_MANAGER_API_CALLED\x10\xc9\x04\x12\x30\n+ATOM_CREDENTIAL_MANAGER_INIT_PHASE_REPORTED\x10\x8b\x05\x12\x35\n0ATOM_CREDENTIAL_MANAGER_CANDIDATE_PHASE_REPORTED\x10\x8c\x05\x12\x31\n,ATOM_CREDENTIAL_MANAGER_FINAL_PHASE_REPORTED\x10\x8d\x05\x12+\n&ATOM_CREDENTIAL_MANAGER_TOTAL_REPORTED\x10\x9b\x05\x12\x30\n+ATOM_CREDENTIAL_MANAGER_FINALNOUID_REPORTED\x10\x9c\x05\x12)\n$ATOM_CREDENTIAL_MANAGER_GET_REPORTED\x10\x9d\x05\x12\x30\n+ATOM_CREDENTIAL_MANAGER_AUTH_CLICK_REPORTED\x10\x9e\x05\x12)\n$ATOM_CREDENTIAL_MANAGER_APIV2_CALLED\x10\x9f\x05\x12\x1b\n\x16\x41TOM_UWB_ACTIVITY_INFO\x10\xccO\x12\x1f\n\x1a\x41TOM_MEDIA_ACTION_REPORTED\x10\xe0\x04\x12!\n\x1c\x41TOM_MEDIA_CONTROLS_LAUNCHED\x10\xe1\x04\x12/\n*ATOM_MEDIA_CODEC_RECLAIM_REQUEST_COMPLETED\x10\xd8\x04\x12\x1d\n\x18\x41TOM_MEDIA_CODEC_STARTED\x10\x81\x05\x12\x1d\n\x18\x41TOM_MEDIA_CODEC_STOPPED\x10\x82\x05\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_RENDERED\x10\xac\x05') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.statsd.atom_ids_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ATOMID']._serialized_start=67 + _globals['_ATOMID']._serialized_end=34709 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/statsd/statsd_tracing_config_pb2.py b/lglpy/timeline/protos/perfetto/config/statsd/statsd_tracing_config_pb2.py new file mode 100644 index 0000000..37fdf38 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/statsd/statsd_tracing_config_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/statsd/statsd_tracing_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/statsd/statsd_tracing_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.config.statsd import atom_ids_pb2 as protos_dot_perfetto_dot_config_dot_statsd_dot_atom__ids__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/config/statsd/statsd_tracing_config.proto\x12\x0fperfetto.protos\x1a,protos/perfetto/config/statsd/atom_ids.proto\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.statsd.statsd_tracing_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_STATSDTRACINGCONFIG']._serialized_start=125 + _globals['_STATSDTRACINGCONFIG']._serialized_end=279 + _globals['_STATSDPULLATOMCONFIG']._serialized_start=282 + _globals['_STATSDPULLATOMCONFIG']._serialized_end=422 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/stress_test_config_pb2.py b/lglpy/timeline/protos/perfetto/config/stress_test_config_pb2.py new file mode 100644 index 0000000..c67fe20 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/stress_test_config_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/stress_test_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/stress_test_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.config import trace_config_pb2 as protos_dot_perfetto_dot_config_dot_trace__config__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/protos/perfetto/config/stress_test_config.proto\x12\x0fperfetto.protos\x1a)protos/perfetto/config/trace_config.proto\"\x99\x04\n\x10StressTestConfig\x12\x32\n\x0ctrace_config\x18\x01 \x01(\x0b\x32\x1c.perfetto.protos.TraceConfig\x12\x15\n\rshmem_size_kb\x18\x02 \x01(\r\x12\x1a\n\x12shmem_page_size_kb\x18\x03 \x01(\r\x12\x15\n\rnum_processes\x18\x04 \x01(\r\x12\x13\n\x0bnum_threads\x18\x05 \x01(\r\x12\x12\n\nmax_events\x18\x06 \x01(\r\x12\x0f\n\x07nesting\x18\x07 \x01(\r\x12L\n\x14steady_state_timings\x18\x08 \x01(\x0b\x32..perfetto.protos.StressTestConfig.WriterTiming\x12\x17\n\x0f\x62urst_period_ms\x18\t \x01(\r\x12\x19\n\x11\x62urst_duration_ms\x18\n \x01(\r\x12\x45\n\rburst_timings\x18\x0b \x01(\x0b\x32..perfetto.protos.StressTestConfig.WriterTiming\x1a\x83\x01\n\x0cWriterTiming\x12\x14\n\x0cpayload_mean\x18\x01 \x01(\x01\x12\x16\n\x0epayload_stddev\x18\x02 \x01(\x01\x12\x11\n\trate_mean\x18\x03 \x01(\x01\x12\x13\n\x0brate_stddev\x18\x04 \x01(\x01\x12\x1d\n\x15payload_write_time_ms\x18\x05 \x01(\r') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.stress_test_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_STRESSTESTCONFIG']._serialized_start=112 + _globals['_STRESSTESTCONFIG']._serialized_end=649 + _globals['_STRESSTESTCONFIG_WRITERTIMING']._serialized_start=518 + _globals['_STRESSTESTCONFIG_WRITERTIMING']._serialized_end=649 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/sys_stats/__init__.py b/lglpy/timeline/protos/perfetto/config/sys_stats/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/sys_stats/sys_stats_config_pb2.py b/lglpy/timeline/protos/perfetto/config/sys_stats/sys_stats_config_pb2.py new file mode 100644 index 0000000..d798d49 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/sys_stats/sys_stats_config_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/sys_stats/sys_stats_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/sys_stats/sys_stats_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import sys_stats_counters_pb2 as protos_dot_perfetto_dot_common_dot_sys__stats__counters__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7protos/perfetto/config/sys_stats/sys_stats_config.proto\x12\x0fperfetto.protos\x1a/protos/perfetto/common/sys_stats_counters.proto\"\xd1\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\"{\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.sys_stats.sys_stats_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SYSSTATSCONFIG']._serialized_start=126 + _globals['_SYSSTATSCONFIG']._serialized_end=719 + _globals['_SYSSTATSCONFIG_STATCOUNTERS']._serialized_start=596 + _globals['_SYSSTATSCONFIG_STATCOUNTERS']._serialized_end=719 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/system_info/__init__.py b/lglpy/timeline/protos/perfetto/config/system_info/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/system_info/system_info_pb2.py b/lglpy/timeline/protos/perfetto/config/system_info/system_info_pb2.py new file mode 100644 index 0000000..0d937c6 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/system_info/system_info_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/system_info/system_info.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/system_info/system_info.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4protos/perfetto/config/system_info/system_info.proto\x12\x0fperfetto.protos\"\x12\n\x10SystemInfoConfig') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.system_info.system_info_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SYSTEMINFOCONFIG']._serialized_start=73 + _globals['_SYSTEMINFOCONFIG']._serialized_end=91 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/test_config_pb2.py b/lglpy/timeline/protos/perfetto/config/test_config_pb2.py new file mode 100644 index 0000000..b31de6c --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/test_config_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/test_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/test_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(protos/perfetto/config/test_config.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.test_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TESTCONFIG']._serialized_start=62 + _globals['_TESTCONFIG']._serialized_end=587 + _globals['_TESTCONFIG_DUMMYFIELDS']._serialized_start=264 + _globals['_TESTCONFIG_DUMMYFIELDS']._serialized_end=587 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/trace_config_pb2.py b/lglpy/timeline/protos/perfetto/config/trace_config_pb2.py new file mode 100644 index 0000000..34e76f8 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/trace_config_pb2.py @@ -0,0 +1,90 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/trace_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/trace_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import builtin_clock_pb2 as protos_dot_perfetto_dot_common_dot_builtin__clock__pb2 +from protos.perfetto.config import data_source_config_pb2 as protos_dot_perfetto_dot_config_dot_data__source__config__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)protos/perfetto/config/trace_config.proto\x12\x0fperfetto.protos\x1a*protos/perfetto/common/builtin_clock.proto\x1a/protos/perfetto/config/data_source_config.proto\"\xe9#\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\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\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\x81\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\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!') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.trace_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACECONFIG_GUARDRAILOVERRIDES'].fields_by_name['max_upload_per_day_bytes']._loaded_options = None + _globals['_TRACECONFIG_GUARDRAILOVERRIDES'].fields_by_name['max_upload_per_day_bytes']._serialized_options = b'\030\001' + _globals['_TRACECONFIG_INCIDENTREPORTCONFIG'].fields_by_name['skip_dropbox']._loaded_options = None + _globals['_TRACECONFIG_INCIDENTREPORTCONFIG'].fields_by_name['skip_dropbox']._serialized_options = b'\030\001' + _globals['_TRACECONFIG'].fields_by_name['trace_uuid_msb']._loaded_options = None + _globals['_TRACECONFIG'].fields_by_name['trace_uuid_msb']._serialized_options = b'\030\001' + _globals['_TRACECONFIG'].fields_by_name['trace_uuid_lsb']._loaded_options = None + _globals['_TRACECONFIG'].fields_by_name['trace_uuid_lsb']._serialized_options = b'\030\001' + _globals['_TRACECONFIG']._serialized_start=156 + _globals['_TRACECONFIG']._serialized_end=4741 + _globals['_TRACECONFIG_BUFFERCONFIG']._serialized_start=1875 + _globals['_TRACECONFIG_BUFFERCONFIG']._serialized_end=2109 + _globals['_TRACECONFIG_BUFFERCONFIG_FILLPOLICY']._serialized_start=2038 + _globals['_TRACECONFIG_BUFFERCONFIG_FILLPOLICY']._serialized_end=2097 + _globals['_TRACECONFIG_DATASOURCE']._serialized_start=2112 + _globals['_TRACECONFIG_DATASOURCE']._serialized_end=2241 + _globals['_TRACECONFIG_BUILTINDATASOURCE']._serialized_start=2244 + _globals['_TRACECONFIG_BUILTINDATASOURCE']._serialized_end=2563 + _globals['_TRACECONFIG_PRODUCERCONFIG']._serialized_start=2565 + _globals['_TRACECONFIG_PRODUCERCONFIG']._serialized_end=2647 + _globals['_TRACECONFIG_STATSDMETADATA']._serialized_start=2650 + _globals['_TRACECONFIG_STATSDMETADATA']._serialized_end=2792 + _globals['_TRACECONFIG_GUARDRAILOVERRIDES']._serialized_start=2794 + _globals['_TRACECONFIG_GUARDRAILOVERRIDES']._serialized_end=2888 + _globals['_TRACECONFIG_TRIGGERCONFIG']._serialized_start=2891 + _globals['_TRACECONFIG_TRIGGERCONFIG']._serialized_end=3349 + _globals['_TRACECONFIG_TRIGGERCONFIG_TRIGGER']._serialized_start=3125 + _globals['_TRACECONFIG_TRIGGERCONFIG_TRIGGER']._serialized_end=3248 + _globals['_TRACECONFIG_TRIGGERCONFIG_TRIGGERMODE']._serialized_start=3250 + _globals['_TRACECONFIG_TRIGGERCONFIG_TRIGGERMODE']._serialized_end=3343 + _globals['_TRACECONFIG_INCREMENTALSTATECONFIG']._serialized_start=3351 + _globals['_TRACECONFIG_INCREMENTALSTATECONFIG']._serialized_end=3400 + _globals['_TRACECONFIG_INCIDENTREPORTCONFIG']._serialized_start=3403 + _globals['_TRACECONFIG_INCIDENTREPORTCONFIG']._serialized_end=3554 + _globals['_TRACECONFIG_TRACEFILTER']._serialized_start=3557 + _globals['_TRACECONFIG_TRACEFILTER']._serialized_end=4154 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERRULE']._serialized_start=3701 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERRULE']._serialized_end=3855 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERCHAIN']._serialized_start=3857 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERCHAIN']._serialized_end=3950 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERPOLICY']._serialized_start=3953 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERPOLICY']._serialized_end=4154 + _globals['_TRACECONFIG_ANDROIDREPORTCONFIG']._serialized_start=4157 + _globals['_TRACECONFIG_ANDROIDREPORTCONFIG']._serialized_end=4308 + _globals['_TRACECONFIG_CMDTRACESTARTDELAY']._serialized_start=4310 + _globals['_TRACECONFIG_CMDTRACESTARTDELAY']._serialized_end=4374 + _globals['_TRACECONFIG_SESSIONSEMAPHORE']._serialized_start=4376 + _globals['_TRACECONFIG_SESSIONSEMAPHORE']._serialized_end=4441 + _globals['_TRACECONFIG_LOCKDOWNMODEOPERATION']._serialized_start=4443 + _globals['_TRACECONFIG_LOCKDOWNMODEOPERATION']._serialized_end=4528 + _globals['_TRACECONFIG_COMPRESSIONTYPE']._serialized_start=4530 + _globals['_TRACECONFIG_COMPRESSIONTYPE']._serialized_end=4611 + _globals['_TRACECONFIG_STATSDLOGGING']._serialized_start=4613 + _globals['_TRACECONFIG_STATSDLOGGING']._serialized_end=4717 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/config/track_event/__init__.py b/lglpy/timeline/protos/perfetto/config/track_event/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/config/track_event/track_event_config_pb2.py b/lglpy/timeline/protos/perfetto/config/track_event/track_event_config_pb2.py new file mode 100644 index 0000000..a23d572 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/config/track_event/track_event_config_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/config/track_event/track_event_config.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/config/track_event/track_event_config.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n;protos/perfetto/config/track_event/track_event_config.proto\x12\x0fperfetto.protos\"\xae\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\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.config.track_event.track_event_config_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACKEVENTCONFIG']._serialized_start=81 + _globals['_TRACKEVENTCONFIG']._serialized_end=383 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/ipc/__init__.py b/lglpy/timeline/protos/perfetto/ipc/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/ipc/consumer_port_pb2.py b/lglpy/timeline/protos/perfetto/ipc/consumer_port_pb2.py new file mode 100644 index 0000000..1ca9c04 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/ipc/consumer_port_pb2.py @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/ipc/consumer_port.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/ipc/consumer_port.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import observable_events_pb2 as protos_dot_perfetto_dot_common_dot_observable__events__pb2 +from protos.perfetto.common import tracing_service_state_pb2 as protos_dot_perfetto_dot_common_dot_tracing__service__state__pb2 +from protos.perfetto.common import tracing_service_capabilities_pb2 as protos_dot_perfetto_dot_common_dot_tracing__service__capabilities__pb2 +from protos.perfetto.common import trace_stats_pb2 as protos_dot_perfetto_dot_common_dot_trace__stats__pb2 +from protos.perfetto.config import trace_config_pb2 as protos_dot_perfetto_dot_config_dot_trace__config__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/ipc/consumer_port.proto\x12\x0fperfetto.protos\x1a.protos/perfetto/common/observable_events.proto\x1a\x32protos/perfetto/common/tracing_service_state.proto\x1a\x39protos/perfetto/common/tracing_service_capabilities.proto\x1a(protos/perfetto/common/trace_stats.proto\x1a)protos/perfetto/config/trace_config.proto\"l\n\x14\x45nableTracingRequest\x12\x32\n\x0ctrace_config\x18\x01 \x01(\x0b\x32\x1c.perfetto.protos.TraceConfig\x12 \n\x18\x61ttach_notification_only\x18\x02 \x01(\x08\"C\n\x15\x45nableTracingResponse\x12\x12\n\x08\x64isabled\x18\x01 \x01(\x08H\x00\x12\r\n\x05\x65rror\x18\x03 \x01(\tB\x07\n\x05state\"\x15\n\x13StartTracingRequest\"\x16\n\x14StartTracingResponse\"N\n\x18\x43hangeTraceConfigRequest\x12\x32\n\x0ctrace_config\x18\x01 \x01(\x0b\x32\x1c.perfetto.protos.TraceConfig\"\x1b\n\x19\x43hangeTraceConfigResponse\"\x17\n\x15\x44isableTracingRequest\"\x18\n\x16\x44isableTracingResponse\"\x14\n\x12ReadBuffersRequest\"\x87\x01\n\x13ReadBuffersResponse\x12:\n\x06slices\x18\x02 \x03(\x0b\x32*.perfetto.protos.ReadBuffersResponse.Slice\x1a\x34\n\x05Slice\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x1d\n\x15last_slice_for_packet\x18\x02 \x01(\x08\"(\n\x12\x46reeBuffersRequest\x12\x12\n\nbuffer_ids\x18\x01 \x03(\r\"\x15\n\x13\x46reeBuffersResponse\"1\n\x0c\x46lushRequest\x12\x12\n\ntimeout_ms\x18\x01 \x01(\r\x12\r\n\x05\x66lags\x18\x02 \x01(\x04\"\x0f\n\rFlushResponse\"\x1c\n\rDetachRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\"\x10\n\x0e\x44\x65tachResponse\"\x1c\n\rAttachRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\"D\n\x0e\x41ttachResponse\x12\x32\n\x0ctrace_config\x18\x01 \x01(\x0b\x32\x1c.perfetto.protos.TraceConfig\"\x16\n\x14GetTraceStatsRequest\"I\n\x15GetTraceStatsResponse\x12\x30\n\x0btrace_stats\x18\x01 \x01(\x0b\x32\x1b.perfetto.protos.TraceStats\"Y\n\x14ObserveEventsRequest\x12\x41\n\x11\x65vents_to_observe\x18\x01 \x03(\x0e\x32&.perfetto.protos.ObservableEvents.Type\"J\n\x15ObserveEventsResponse\x12\x31\n\x06\x65vents\x18\x01 \x01(\x0b\x32!.perfetto.protos.ObservableEvents\"1\n\x18QueryServiceStateRequest\x12\x15\n\rsessions_only\x18\x01 \x01(\x08\"X\n\x19QueryServiceStateResponse\x12;\n\rservice_state\x18\x01 \x01(\x0b\x32$.perfetto.protos.TracingServiceState\"\x1a\n\x18QueryCapabilitiesRequest\"^\n\x19QueryCapabilitiesResponse\x12\x41\n\x0c\x63\x61pabilities\x18\x01 \x01(\x0b\x32+.perfetto.protos.TracingServiceCapabilities\"\x1e\n\x1cSaveTraceForBugreportRequest\"=\n\x1dSaveTraceForBugreportResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0b\n\x03msg\x18\x02 \x01(\t\"[\n\x13\x43loneSessionRequest\x12\x12\n\nsession_id\x18\x01 \x01(\x04\x12\x19\n\x11skip_trace_filter\x18\x02 \x01(\x08\x12\x15\n\rfor_bugreport\x18\x03 \x01(\x08\"Z\n\x14\x43loneSessionResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\x10\n\x08uuid_msb\x18\x03 \x01(\x03\x12\x10\n\x08uuid_lsb\x18\x04 \x01(\x03\x32\xbd\x0b\n\x0c\x43onsumerPort\x12`\n\rEnableTracing\x12%.perfetto.protos.EnableTracingRequest\x1a&.perfetto.protos.EnableTracingResponse\"\x00\x12\x63\n\x0e\x44isableTracing\x12&.perfetto.protos.DisableTracingRequest\x1a\'.perfetto.protos.DisableTracingResponse\"\x00\x12\\\n\x0bReadBuffers\x12#.perfetto.protos.ReadBuffersRequest\x1a$.perfetto.protos.ReadBuffersResponse\"\x00\x30\x01\x12Z\n\x0b\x46reeBuffers\x12#.perfetto.protos.FreeBuffersRequest\x1a$.perfetto.protos.FreeBuffersResponse\"\x00\x12H\n\x05\x46lush\x12\x1d.perfetto.protos.FlushRequest\x1a\x1e.perfetto.protos.FlushResponse\"\x00\x12]\n\x0cStartTracing\x12$.perfetto.protos.StartTracingRequest\x1a%.perfetto.protos.StartTracingResponse\"\x00\x12l\n\x11\x43hangeTraceConfig\x12).perfetto.protos.ChangeTraceConfigRequest\x1a*.perfetto.protos.ChangeTraceConfigResponse\"\x00\x12K\n\x06\x44\x65tach\x12\x1e.perfetto.protos.DetachRequest\x1a\x1f.perfetto.protos.DetachResponse\"\x00\x12K\n\x06\x41ttach\x12\x1e.perfetto.protos.AttachRequest\x1a\x1f.perfetto.protos.AttachResponse\"\x00\x12`\n\rGetTraceStats\x12%.perfetto.protos.GetTraceStatsRequest\x1a&.perfetto.protos.GetTraceStatsResponse\"\x00\x12\x62\n\rObserveEvents\x12%.perfetto.protos.ObserveEventsRequest\x1a&.perfetto.protos.ObserveEventsResponse\"\x00\x30\x01\x12n\n\x11QueryServiceState\x12).perfetto.protos.QueryServiceStateRequest\x1a*.perfetto.protos.QueryServiceStateResponse\"\x00\x30\x01\x12l\n\x11QueryCapabilities\x12).perfetto.protos.QueryCapabilitiesRequest\x1a*.perfetto.protos.QueryCapabilitiesResponse\"\x00\x12x\n\x15SaveTraceForBugreport\x12-.perfetto.protos.SaveTraceForBugreportRequest\x1a..perfetto.protos.SaveTraceForBugreportResponse\"\x00\x12]\n\x0c\x43loneSession\x12$.perfetto.protos.CloneSessionRequest\x1a%.perfetto.protos.CloneSessionResponse\"\x00') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.ipc.consumer_port_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ENABLETRACINGREQUEST']._serialized_start=304 + _globals['_ENABLETRACINGREQUEST']._serialized_end=412 + _globals['_ENABLETRACINGRESPONSE']._serialized_start=414 + _globals['_ENABLETRACINGRESPONSE']._serialized_end=481 + _globals['_STARTTRACINGREQUEST']._serialized_start=483 + _globals['_STARTTRACINGREQUEST']._serialized_end=504 + _globals['_STARTTRACINGRESPONSE']._serialized_start=506 + _globals['_STARTTRACINGRESPONSE']._serialized_end=528 + _globals['_CHANGETRACECONFIGREQUEST']._serialized_start=530 + _globals['_CHANGETRACECONFIGREQUEST']._serialized_end=608 + _globals['_CHANGETRACECONFIGRESPONSE']._serialized_start=610 + _globals['_CHANGETRACECONFIGRESPONSE']._serialized_end=637 + _globals['_DISABLETRACINGREQUEST']._serialized_start=639 + _globals['_DISABLETRACINGREQUEST']._serialized_end=662 + _globals['_DISABLETRACINGRESPONSE']._serialized_start=664 + _globals['_DISABLETRACINGRESPONSE']._serialized_end=688 + _globals['_READBUFFERSREQUEST']._serialized_start=690 + _globals['_READBUFFERSREQUEST']._serialized_end=710 + _globals['_READBUFFERSRESPONSE']._serialized_start=713 + _globals['_READBUFFERSRESPONSE']._serialized_end=848 + _globals['_READBUFFERSRESPONSE_SLICE']._serialized_start=796 + _globals['_READBUFFERSRESPONSE_SLICE']._serialized_end=848 + _globals['_FREEBUFFERSREQUEST']._serialized_start=850 + _globals['_FREEBUFFERSREQUEST']._serialized_end=890 + _globals['_FREEBUFFERSRESPONSE']._serialized_start=892 + _globals['_FREEBUFFERSRESPONSE']._serialized_end=913 + _globals['_FLUSHREQUEST']._serialized_start=915 + _globals['_FLUSHREQUEST']._serialized_end=964 + _globals['_FLUSHRESPONSE']._serialized_start=966 + _globals['_FLUSHRESPONSE']._serialized_end=981 + _globals['_DETACHREQUEST']._serialized_start=983 + _globals['_DETACHREQUEST']._serialized_end=1011 + _globals['_DETACHRESPONSE']._serialized_start=1013 + _globals['_DETACHRESPONSE']._serialized_end=1029 + _globals['_ATTACHREQUEST']._serialized_start=1031 + _globals['_ATTACHREQUEST']._serialized_end=1059 + _globals['_ATTACHRESPONSE']._serialized_start=1061 + _globals['_ATTACHRESPONSE']._serialized_end=1129 + _globals['_GETTRACESTATSREQUEST']._serialized_start=1131 + _globals['_GETTRACESTATSREQUEST']._serialized_end=1153 + _globals['_GETTRACESTATSRESPONSE']._serialized_start=1155 + _globals['_GETTRACESTATSRESPONSE']._serialized_end=1228 + _globals['_OBSERVEEVENTSREQUEST']._serialized_start=1230 + _globals['_OBSERVEEVENTSREQUEST']._serialized_end=1319 + _globals['_OBSERVEEVENTSRESPONSE']._serialized_start=1321 + _globals['_OBSERVEEVENTSRESPONSE']._serialized_end=1395 + _globals['_QUERYSERVICESTATEREQUEST']._serialized_start=1397 + _globals['_QUERYSERVICESTATEREQUEST']._serialized_end=1446 + _globals['_QUERYSERVICESTATERESPONSE']._serialized_start=1448 + _globals['_QUERYSERVICESTATERESPONSE']._serialized_end=1536 + _globals['_QUERYCAPABILITIESREQUEST']._serialized_start=1538 + _globals['_QUERYCAPABILITIESREQUEST']._serialized_end=1564 + _globals['_QUERYCAPABILITIESRESPONSE']._serialized_start=1566 + _globals['_QUERYCAPABILITIESRESPONSE']._serialized_end=1660 + _globals['_SAVETRACEFORBUGREPORTREQUEST']._serialized_start=1662 + _globals['_SAVETRACEFORBUGREPORTREQUEST']._serialized_end=1692 + _globals['_SAVETRACEFORBUGREPORTRESPONSE']._serialized_start=1694 + _globals['_SAVETRACEFORBUGREPORTRESPONSE']._serialized_end=1755 + _globals['_CLONESESSIONREQUEST']._serialized_start=1757 + _globals['_CLONESESSIONREQUEST']._serialized_end=1848 + _globals['_CLONESESSIONRESPONSE']._serialized_start=1850 + _globals['_CLONESESSIONRESPONSE']._serialized_end=1940 + _globals['_CONSUMERPORT']._serialized_start=1943 + _globals['_CONSUMERPORT']._serialized_end=3412 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/ipc/producer_port_pb2.py b/lglpy/timeline/protos/perfetto/ipc/producer_port_pb2.py new file mode 100644 index 0000000..6aba980 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/ipc/producer_port_pb2.py @@ -0,0 +1,99 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/ipc/producer_port.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/ipc/producer_port.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import commit_data_request_pb2 as protos_dot_perfetto_dot_common_dot_commit__data__request__pb2 +from protos.perfetto.config import data_source_config_pb2 as protos_dot_perfetto_dot_config_dot_data__source__config__pb2 +from protos.perfetto.common import data_source_descriptor_pb2 as protos_dot_perfetto_dot_common_dot_data__source__descriptor__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/ipc/producer_port.proto\x12\x0fperfetto.protos\x1a\x30protos/perfetto/common/commit_data_request.proto\x1a/protos/perfetto/config/data_source_config.proto\x1a\x33protos/perfetto/common/data_source_descriptor.proto\"\xab\x03\n\x1bInitializeConnectionRequest\x12*\n\"shared_memory_page_size_hint_bytes\x18\x01 \x01(\r\x12%\n\x1dshared_memory_size_hint_bytes\x18\x02 \x01(\r\x12\x15\n\rproducer_name\x18\x03 \x01(\t\x12_\n\x11smb_scraping_mode\x18\x04 \x01(\x0e\x32\x44.perfetto.protos.InitializeConnectionRequest.ProducerSMBScrapingMode\x12\x1f\n\x17producer_provided_shmem\x18\x06 \x01(\x08\x12\x13\n\x0bsdk_version\x18\x08 \x01(\t\x12\x17\n\x0fshm_key_windows\x18\x07 \x01(\t\"l\n\x17ProducerSMBScrapingMode\x12\x1c\n\x18SMB_SCRAPING_UNSPECIFIED\x10\x00\x12\x18\n\x14SMB_SCRAPING_ENABLED\x10\x01\x12\x19\n\x15SMB_SCRAPING_DISABLED\x10\x02J\x04\x08\x05\x10\x06\"\x8c\x01\n\x1cInitializeConnectionResponse\x12(\n using_shmem_provided_by_producer\x18\x01 \x01(\x08\x12%\n\x1d\x64irect_smb_patching_supported\x18\x02 \x01(\x08\x12\x1b\n\x13use_shmem_emulation\x18\x03 \x01(\x08\"b\n\x19RegisterDataSourceRequest\x12\x45\n\x16\x64\x61ta_source_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.DataSourceDescriptor\"+\n\x1aRegisterDataSourceResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"`\n\x17UpdateDataSourceRequest\x12\x45\n\x16\x64\x61ta_source_descriptor\x18\x01 \x01(\x0b\x32%.perfetto.protos.DataSourceDescriptor\"\x1a\n\x18UpdateDataSourceResponse\"7\n\x1bUnregisterDataSourceRequest\x12\x18\n\x10\x64\x61ta_source_name\x18\x01 \x01(\t\"\x1e\n\x1cUnregisterDataSourceResponse\"L\n\x1aRegisterTraceWriterRequest\x12\x17\n\x0ftrace_writer_id\x18\x01 \x01(\r\x12\x15\n\rtarget_buffer\x18\x02 \x01(\r\"\x1d\n\x1bRegisterTraceWriterResponse\"7\n\x1cUnregisterTraceWriterRequest\x12\x17\n\x0ftrace_writer_id\x18\x01 \x01(\r\"\x1f\n\x1dUnregisterTraceWriterResponse\"\x14\n\x12\x43ommitDataResponse\"8\n\x1eNotifyDataSourceStartedRequest\x12\x16\n\x0e\x64\x61ta_source_id\x18\x01 \x01(\x04\"!\n\x1fNotifyDataSourceStartedResponse\"8\n\x1eNotifyDataSourceStoppedRequest\x12\x16\n\x0e\x64\x61ta_source_id\x18\x01 \x01(\x04\"!\n\x1fNotifyDataSourceStoppedResponse\"0\n\x17\x41\x63tivateTriggersRequest\x12\x15\n\rtrigger_names\x18\x01 \x03(\t\"\x1a\n\x18\x41\x63tivateTriggersResponse\"\x18\n\x16GetAsyncCommandRequest\"\xc0\x07\n\x17GetAsyncCommandResponse\x12N\n\rsetup_tracing\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.GetAsyncCommandResponse.SetupTracingH\x00\x12U\n\x11setup_data_source\x18\x06 \x01(\x0b\x32\x38.perfetto.protos.GetAsyncCommandResponse.SetupDataSourceH\x00\x12U\n\x11start_data_source\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.GetAsyncCommandResponse.StartDataSourceH\x00\x12S\n\x10stop_data_source\x18\x02 \x01(\x0b\x32\x37.perfetto.protos.GetAsyncCommandResponse.StopDataSourceH\x00\x12?\n\x05\x66lush\x18\x05 \x01(\x0b\x32..perfetto.protos.GetAsyncCommandResponse.FlushH\x00\x12\x61\n\x17\x63lear_incremental_state\x18\x07 \x01(\x0b\x32>.perfetto.protos.GetAsyncCommandResponse.ClearIncrementalStateH\x00\x1a]\n\x0fSetupDataSource\x12\x17\n\x0fnew_instance_id\x18\x01 \x01(\x04\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32!.perfetto.protos.DataSourceConfig\x1a]\n\x0fStartDataSource\x12\x17\n\x0fnew_instance_id\x18\x01 \x01(\x04\x12\x31\n\x06\x63onfig\x18\x02 \x01(\x0b\x32!.perfetto.protos.DataSourceConfig\x1a%\n\x0eStopDataSource\x12\x13\n\x0binstance_id\x18\x01 \x01(\x04\x1aK\n\x0cSetupTracing\x12\"\n\x1ashared_buffer_page_size_kb\x18\x01 \x01(\r\x12\x17\n\x0fshm_key_windows\x18\x02 \x01(\t\x1a\x43\n\x05\x46lush\x12\x17\n\x0f\x64\x61ta_source_ids\x18\x01 \x03(\x04\x12\x12\n\nrequest_id\x18\x02 \x01(\x04\x12\r\n\x05\x66lags\x18\x03 \x01(\x04\x1a\x30\n\x15\x43learIncrementalState\x12\x17\n\x0f\x64\x61ta_source_ids\x18\x01 \x03(\x04\x42\x05\n\x03\x63md\"\r\n\x0bSyncRequest\"\x0e\n\x0cSyncResponse2\xbb\n\n\x0cProducerPort\x12u\n\x14InitializeConnection\x12,.perfetto.protos.InitializeConnectionRequest\x1a-.perfetto.protos.InitializeConnectionResponse\"\x00\x12o\n\x12RegisterDataSource\x12*.perfetto.protos.RegisterDataSourceRequest\x1a+.perfetto.protos.RegisterDataSourceResponse\"\x00\x12u\n\x14UnregisterDataSource\x12,.perfetto.protos.UnregisterDataSourceRequest\x1a-.perfetto.protos.UnregisterDataSourceResponse\"\x00\x12W\n\nCommitData\x12\".perfetto.protos.CommitDataRequest\x1a#.perfetto.protos.CommitDataResponse\"\x00\x12h\n\x0fGetAsyncCommand\x12\'.perfetto.protos.GetAsyncCommandRequest\x1a(.perfetto.protos.GetAsyncCommandResponse\"\x00\x30\x01\x12r\n\x13RegisterTraceWriter\x12+.perfetto.protos.RegisterTraceWriterRequest\x1a,.perfetto.protos.RegisterTraceWriterResponse\"\x00\x12x\n\x15UnregisterTraceWriter\x12-.perfetto.protos.UnregisterTraceWriterRequest\x1a..perfetto.protos.UnregisterTraceWriterResponse\"\x00\x12~\n\x17NotifyDataSourceStarted\x12/.perfetto.protos.NotifyDataSourceStartedRequest\x1a\x30.perfetto.protos.NotifyDataSourceStartedResponse\"\x00\x12~\n\x17NotifyDataSourceStopped\x12/.perfetto.protos.NotifyDataSourceStoppedRequest\x1a\x30.perfetto.protos.NotifyDataSourceStoppedResponse\"\x00\x12i\n\x10\x41\x63tivateTriggers\x12(.perfetto.protos.ActivateTriggersRequest\x1a).perfetto.protos.ActivateTriggersResponse\"\x00\x12\x45\n\x04Sync\x12\x1c.perfetto.protos.SyncRequest\x1a\x1d.perfetto.protos.SyncResponse\"\x00\x12i\n\x10UpdateDataSource\x12(.perfetto.protos.UpdateDataSourceRequest\x1a).perfetto.protos.UpdateDataSourceResponse\"\x00') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.ipc.producer_port_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_INITIALIZECONNECTIONREQUEST']._serialized_start=213 + _globals['_INITIALIZECONNECTIONREQUEST']._serialized_end=640 + _globals['_INITIALIZECONNECTIONREQUEST_PRODUCERSMBSCRAPINGMODE']._serialized_start=526 + _globals['_INITIALIZECONNECTIONREQUEST_PRODUCERSMBSCRAPINGMODE']._serialized_end=634 + _globals['_INITIALIZECONNECTIONRESPONSE']._serialized_start=643 + _globals['_INITIALIZECONNECTIONRESPONSE']._serialized_end=783 + _globals['_REGISTERDATASOURCEREQUEST']._serialized_start=785 + _globals['_REGISTERDATASOURCEREQUEST']._serialized_end=883 + _globals['_REGISTERDATASOURCERESPONSE']._serialized_start=885 + _globals['_REGISTERDATASOURCERESPONSE']._serialized_end=928 + _globals['_UPDATEDATASOURCEREQUEST']._serialized_start=930 + _globals['_UPDATEDATASOURCEREQUEST']._serialized_end=1026 + _globals['_UPDATEDATASOURCERESPONSE']._serialized_start=1028 + _globals['_UPDATEDATASOURCERESPONSE']._serialized_end=1054 + _globals['_UNREGISTERDATASOURCEREQUEST']._serialized_start=1056 + _globals['_UNREGISTERDATASOURCEREQUEST']._serialized_end=1111 + _globals['_UNREGISTERDATASOURCERESPONSE']._serialized_start=1113 + _globals['_UNREGISTERDATASOURCERESPONSE']._serialized_end=1143 + _globals['_REGISTERTRACEWRITERREQUEST']._serialized_start=1145 + _globals['_REGISTERTRACEWRITERREQUEST']._serialized_end=1221 + _globals['_REGISTERTRACEWRITERRESPONSE']._serialized_start=1223 + _globals['_REGISTERTRACEWRITERRESPONSE']._serialized_end=1252 + _globals['_UNREGISTERTRACEWRITERREQUEST']._serialized_start=1254 + _globals['_UNREGISTERTRACEWRITERREQUEST']._serialized_end=1309 + _globals['_UNREGISTERTRACEWRITERRESPONSE']._serialized_start=1311 + _globals['_UNREGISTERTRACEWRITERRESPONSE']._serialized_end=1342 + _globals['_COMMITDATARESPONSE']._serialized_start=1344 + _globals['_COMMITDATARESPONSE']._serialized_end=1364 + _globals['_NOTIFYDATASOURCESTARTEDREQUEST']._serialized_start=1366 + _globals['_NOTIFYDATASOURCESTARTEDREQUEST']._serialized_end=1422 + _globals['_NOTIFYDATASOURCESTARTEDRESPONSE']._serialized_start=1424 + _globals['_NOTIFYDATASOURCESTARTEDRESPONSE']._serialized_end=1457 + _globals['_NOTIFYDATASOURCESTOPPEDREQUEST']._serialized_start=1459 + _globals['_NOTIFYDATASOURCESTOPPEDREQUEST']._serialized_end=1515 + _globals['_NOTIFYDATASOURCESTOPPEDRESPONSE']._serialized_start=1517 + _globals['_NOTIFYDATASOURCESTOPPEDRESPONSE']._serialized_end=1550 + _globals['_ACTIVATETRIGGERSREQUEST']._serialized_start=1552 + _globals['_ACTIVATETRIGGERSREQUEST']._serialized_end=1600 + _globals['_ACTIVATETRIGGERSRESPONSE']._serialized_start=1602 + _globals['_ACTIVATETRIGGERSRESPONSE']._serialized_end=1628 + _globals['_GETASYNCCOMMANDREQUEST']._serialized_start=1630 + _globals['_GETASYNCCOMMANDREQUEST']._serialized_end=1654 + _globals['_GETASYNCCOMMANDRESPONSE']._serialized_start=1657 + _globals['_GETASYNCCOMMANDRESPONSE']._serialized_end=2617 + _globals['_GETASYNCCOMMANDRESPONSE_SETUPDATASOURCE']._serialized_start=2187 + _globals['_GETASYNCCOMMANDRESPONSE_SETUPDATASOURCE']._serialized_end=2280 + _globals['_GETASYNCCOMMANDRESPONSE_STARTDATASOURCE']._serialized_start=2282 + _globals['_GETASYNCCOMMANDRESPONSE_STARTDATASOURCE']._serialized_end=2375 + _globals['_GETASYNCCOMMANDRESPONSE_STOPDATASOURCE']._serialized_start=2377 + _globals['_GETASYNCCOMMANDRESPONSE_STOPDATASOURCE']._serialized_end=2414 + _globals['_GETASYNCCOMMANDRESPONSE_SETUPTRACING']._serialized_start=2416 + _globals['_GETASYNCCOMMANDRESPONSE_SETUPTRACING']._serialized_end=2491 + _globals['_GETASYNCCOMMANDRESPONSE_FLUSH']._serialized_start=2493 + _globals['_GETASYNCCOMMANDRESPONSE_FLUSH']._serialized_end=2560 + _globals['_GETASYNCCOMMANDRESPONSE_CLEARINCREMENTALSTATE']._serialized_start=2562 + _globals['_GETASYNCCOMMANDRESPONSE_CLEARINCREMENTALSTATE']._serialized_end=2610 + _globals['_SYNCREQUEST']._serialized_start=2619 + _globals['_SYNCREQUEST']._serialized_end=2632 + _globals['_SYNCRESPONSE']._serialized_start=2634 + _globals['_SYNCRESPONSE']._serialized_end=2648 + _globals['_PRODUCERPORT']._serialized_start=2651 + _globals['_PRODUCERPORT']._serialized_end=3990 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/ipc/relay_port_pb2.py b/lglpy/timeline/protos/perfetto/ipc/relay_port_pb2.py new file mode 100644 index 0000000..9fcdb83 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/ipc/relay_port_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/ipc/relay_port.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/ipc/relay_port.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$protos/perfetto/ipc/relay_port.proto\x12\x0fperfetto.protos\"\xd0\x01\n\x10SyncClockRequest\x12\x36\n\x05phase\x18\x01 \x01(\x0e\x32\'.perfetto.protos.SyncClockRequest.Phase\x12\x37\n\x06\x63locks\x18\x02 \x03(\x0b\x32\'.perfetto.protos.SyncClockRequest.Clock\x1a,\n\x05\x43lock\x12\x10\n\x08\x63lock_id\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\"\x1d\n\x05Phase\x12\x08\n\x04PING\x10\x01\x12\n\n\x06UPDATE\x10\x02\"\x13\n\x11SyncClockResponse2a\n\tRelayPort\x12T\n\tSyncClock\x12!.perfetto.protos.SyncClockRequest\x1a\".perfetto.protos.SyncClockResponse\"\x00') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.ipc.relay_port_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SYNCCLOCKREQUEST']._serialized_start=58 + _globals['_SYNCCLOCKREQUEST']._serialized_end=266 + _globals['_SYNCCLOCKREQUEST_CLOCK']._serialized_start=191 + _globals['_SYNCCLOCKREQUEST_CLOCK']._serialized_end=235 + _globals['_SYNCCLOCKREQUEST_PHASE']._serialized_start=237 + _globals['_SYNCCLOCKREQUEST_PHASE']._serialized_end=266 + _globals['_SYNCCLOCKRESPONSE']._serialized_start=268 + _globals['_SYNCCLOCKRESPONSE']._serialized_end=287 + _globals['_RELAYPORT']._serialized_start=289 + _globals['_RELAYPORT']._serialized_end=386 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/ipc/wire_protocol_pb2.py b/lglpy/timeline/protos/perfetto/ipc/wire_protocol_pb2.py new file mode 100644 index 0000000..f228c36 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/ipc/wire_protocol_pb2.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/ipc/wire_protocol.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/ipc/wire_protocol.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/ipc/wire_protocol.proto\x12\x0fperfetto.protos\"\xd2\x07\n\x08IPCFrame\x12\x12\n\nrequest_id\x18\x02 \x01(\x04\x12\x41\n\x10msg_bind_service\x18\x03 \x01(\x0b\x32%.perfetto.protos.IPCFrame.BindServiceH\x00\x12L\n\x16msg_bind_service_reply\x18\x04 \x01(\x0b\x32*.perfetto.protos.IPCFrame.BindServiceReplyH\x00\x12\x43\n\x11msg_invoke_method\x18\x05 \x01(\x0b\x32&.perfetto.protos.IPCFrame.InvokeMethodH\x00\x12N\n\x17msg_invoke_method_reply\x18\x06 \x01(\x0b\x32+.perfetto.protos.IPCFrame.InvokeMethodReplyH\x00\x12\x43\n\x11msg_request_error\x18\x07 \x01(\x0b\x32&.perfetto.protos.IPCFrame.RequestErrorH\x00\x12\x46\n\x11set_peer_identity\x18\x08 \x01(\x0b\x32).perfetto.protos.IPCFrame.SetPeerIdentityH\x00\x12\x18\n\x10\x64\x61ta_for_testing\x18\x01 \x03(\x0c\x1a#\n\x0b\x42indService\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x1a\xa7\x01\n\x10\x42indServiceReply\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x12\n\nservice_id\x18\x02 \x01(\r\x12\x46\n\x07methods\x18\x03 \x03(\x0b\x32\x35.perfetto.protos.IPCFrame.BindServiceReply.MethodInfo\x1a&\n\nMethodInfo\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x1a]\n\x0cInvokeMethod\x12\x12\n\nservice_id\x18\x01 \x01(\r\x12\x11\n\tmethod_id\x18\x02 \x01(\r\x12\x12\n\nargs_proto\x18\x03 \x01(\x0c\x12\x12\n\ndrop_reply\x18\x04 \x01(\x08\x1aK\n\x11InvokeMethodReply\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x10\n\x08has_more\x18\x02 \x01(\x08\x12\x13\n\x0breply_proto\x18\x03 \x01(\x0c\x1a\x1d\n\x0cRequestError\x12\r\n\x05\x65rror\x18\x01 \x01(\t\x1a\x44\n\x0fSetPeerIdentity\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0b\n\x03uid\x18\x02 \x01(\x05\x12\x17\n\x0fmachine_id_hint\x18\x03 \x01(\tB\x05\n\x03msg') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.ipc.wire_protocol_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_IPCFRAME']._serialized_start=61 + _globals['_IPCFRAME']._serialized_end=1039 + _globals['_IPCFRAME_BINDSERVICE']._serialized_start=554 + _globals['_IPCFRAME_BINDSERVICE']._serialized_end=589 + _globals['_IPCFRAME_BINDSERVICEREPLY']._serialized_start=592 + _globals['_IPCFRAME_BINDSERVICEREPLY']._serialized_end=759 + _globals['_IPCFRAME_BINDSERVICEREPLY_METHODINFO']._serialized_start=721 + _globals['_IPCFRAME_BINDSERVICEREPLY_METHODINFO']._serialized_end=759 + _globals['_IPCFRAME_INVOKEMETHOD']._serialized_start=761 + _globals['_IPCFRAME_INVOKEMETHOD']._serialized_end=854 + _globals['_IPCFRAME_INVOKEMETHODREPLY']._serialized_start=856 + _globals['_IPCFRAME_INVOKEMETHODREPLY']._serialized_end=931 + _globals['_IPCFRAME_REQUESTERROR']._serialized_start=933 + _globals['_IPCFRAME_REQUESTERROR']._serialized_end=962 + _globals['_IPCFRAME_SETPEERIDENTITY']._serialized_start=964 + _globals['_IPCFRAME_SETPEERIDENTITY']._serialized_end=1032 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/__init__.py b/lglpy/timeline/protos/perfetto/metrics/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/metrics/android/__init__.py b/lglpy/timeline/protos/perfetto/metrics/android/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/metrics/android/ad_services_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/ad_services_metric_pb2.py new file mode 100644 index 0000000..73daf83 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/ad_services_metric_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/ad_services_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/ad_services_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8protos/perfetto/metrics/android/ad_services_metric.proto\x12\x0fperfetto.protos\"\xc8\x02\n\x12\x41\x64ServicesUiMetric\x12-\n%common_service_initialization_latency\x18\x01 \x01(\x01\x12/\n\'common_service_permission_check_latency\x18\x02 \x01(\x01\x12-\n%common_service_ux_engine_flow_latency\x18\x03 \x01(\x01\x12&\n\x1emain_activity_creation_latency\x18\x04 \x01(\x01\x12.\n&consent_manager_initialization_latency\x18\x05 \x01(\x01\x12$\n\x1c\x63onsent_manager_read_latency\x18\x06 \x01(\x01\x12%\n\x1d\x63onsent_manager_write_latency\x18\x07 \x01(\x01\"\'\n\x14\x41\x64ServicesAdIdMetric\x12\x0f\n\x07latency\x18\x01 \x01(\x01\"+\n\x18\x41\x64ServicesAppSetIdMetric\x12\x0f\n\x07latency\x18\x01 \x01(\x01\"\xf0\x01\n\x1dOnDevicePersonalizationMetric\x12/\n\'managing_service_initialization_latency\x18\x01 \x01(\x01\x12-\n%service_delegate_execute_flow_latency\x18\x02 \x01(\x01\x12\x38\n0service_delegate_request_surface_package_latency\x18\x03 \x01(\x01\x12\x35\n-service_delegate_register_web_trigger_latency\x18\x04 \x01(\x01\"\x91\x02\n\x10\x41\x64ServicesMetric\x12\x36\n\tui_metric\x18\x01 \x03(\x0b\x32#.perfetto.protos.AdServicesUiMetric\x12;\n\x0c\x61\x64_id_metric\x18\x02 \x03(\x0b\x32%.perfetto.protos.AdServicesAdIdMetric\x12\x44\n\x11\x61pp_set_id_metric\x18\x03 \x03(\x0b\x32).perfetto.protos.AdServicesAppSetIdMetric\x12\x42\n\nodp_metric\x18\x04 \x03(\x0b\x32..perfetto.protos.OnDevicePersonalizationMetric') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.ad_services_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ADSERVICESUIMETRIC']._serialized_start=78 + _globals['_ADSERVICESUIMETRIC']._serialized_end=406 + _globals['_ADSERVICESADIDMETRIC']._serialized_start=408 + _globals['_ADSERVICESADIDMETRIC']._serialized_end=447 + _globals['_ADSERVICESAPPSETIDMETRIC']._serialized_start=449 + _globals['_ADSERVICESAPPSETIDMETRIC']._serialized_end=492 + _globals['_ONDEVICEPERSONALIZATIONMETRIC']._serialized_start=495 + _globals['_ONDEVICEPERSONALIZATIONMETRIC']._serialized_end=735 + _globals['_ADSERVICESMETRIC']._serialized_start=738 + _globals['_ADSERVICESMETRIC']._serialized_end=1011 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/android_anomaly_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/android_anomaly_metric_pb2.py new file mode 100644 index 0000000..98f84d3 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/android_anomaly_metric_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/android_anomaly_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/android_anomaly_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.perfetto.protos.AndroidBootMetric.OomAdjusterTransitionCounts\x12{\n3post_boot_oom_adjuster_transition_counts_by_process\x18\x0b \x03(\x0b\x32>.perfetto.protos.AndroidBootMetric.OomAdjusterTransitionCounts\x12\x82\x01\n:post_boot_oom_adjuster_transition_counts_by_oom_adj_reason\x18\x0c \x03(\x0b\x32>.perfetto.protos.AndroidBootMetric.OomAdjusterTransitionCounts\x12x\n,post_boot_oom_adj_bucket_duration_agg_global\x18\r \x03(\x0b\x32\x42.perfetto.protos.AndroidBootMetric.OomAdjBucketDurationAggregation\x12|\n0post_boot_oom_adj_bucket_duration_agg_by_process\x18\x0e \x03(\x0b\x32\x42.perfetto.protos.AndroidBootMetric.OomAdjBucketDurationAggregation\x12\x64\n\x1epost_boot_oom_adj_duration_agg\x18\x0f \x03(\x0b\x32<.perfetto.protos.AndroidBootMetric.OomAdjDurationAggregation\x12q\n+post_boot_broadcast_process_count_by_intent\x18\x10 \x03(\x0b\x32<.perfetto.protos.AndroidBootMetric.BroadcastCountAggregation\x12j\n$post_boot_broadcast_count_by_process\x18\x11 \x03(\x0b\x32<.perfetto.protos.AndroidBootMetric.BroadcastCountAggregation\x12r\n)post_boot_brodcast_duration_agg_by_intent\x18\x12 \x03(\x0b\x32?.perfetto.protos.AndroidBootMetric.BroadcastDurationAggregation\x12s\n*post_boot_brodcast_duration_agg_by_process\x18\x13 \x03(\x0b\x32?.perfetto.protos.AndroidBootMetric.BroadcastDurationAggregation\x1a+\n\x11LauncherBreakdown\x12\x16\n\x0e\x63old_start_dur\x18\x01 \x01(\x03\x1ah\n\x17ProcessStartAggregation\x12\x17\n\x0ftotal_start_sum\x18\x01 \x01(\x03\x12\x18\n\x10num_of_processes\x18\x02 \x01(\x03\x12\x1a\n\x12\x61verage_start_time\x18\x03 \x01(\x01\x1a\xf3\x02\n\x1cGarbageCollectionAggregation\x12\x16\n\x0etotal_gc_count\x18\x01 \x01(\x03\x12 \n\x18num_of_processes_with_gc\x18\x02 \x01(\x03\x12\x1e\n\x16num_of_threads_with_gc\x18\x03 \x01(\x03\x12\x17\n\x0f\x61vg_gc_duration\x18\x04 \x01(\x01\x12\x1f\n\x17\x61vg_running_gc_duration\x18\x05 \x01(\x01\x12\x15\n\rfull_gc_count\x18\x06 \x01(\x03\x12%\n\x1d\x63ollector_transition_gc_count\x18\x07 \x01(\x03\x12\x16\n\x0eyoung_gc_count\x18\x08 \x01(\x03\x12\x1d\n\x15native_alloc_gc_count\x18\t \x01(\x03\x12\x19\n\x11\x65xplicit_gc_count\x18\n \x01(\x03\x12\x16\n\x0e\x61lloc_gc_count\x18\x0b \x01(\x03\x12\x17\n\x0fmb_per_ms_of_gc\x18\x0c \x01(\x01\x1a\x63\n\x1bOomAdjusterTransitionCounts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nsrc_bucket\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65st_bucket\x18\x03 \x01(\t\x12\r\n\x05\x63ount\x18\x04 \x01(\x03\x1aR\n\x1fOomAdjBucketDurationAggregation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12\x11\n\ttotal_dur\x18\x03 \x01(\x03\x1a\x9b\x01\n\x19OomAdjDurationAggregation\x12\x17\n\x0fmin_oom_adj_dur\x18\x01 \x01(\x03\x12\x17\n\x0fmax_oom_adj_dur\x18\x02 \x01(\x03\x12\x17\n\x0f\x61vg_oom_adj_dur\x18\x03 \x01(\x01\x12\x1b\n\x13oom_adj_event_count\x18\x04 \x01(\x03\x12\x16\n\x0eoom_adj_reason\x18\x05 \x01(\t\x1a\x38\n\x19\x42roadcastCountAggregation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x03\x1an\n\x1c\x42roadcastDurationAggregation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x61vg_duration\x18\x02 \x01(\x01\x12\x14\n\x0cmax_duration\x18\x03 \x01(\x03\x12\x14\n\x0csum_duration\x18\x04 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.android_boot_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PROCESSSTATEDURATIONS']._serialized_start=71 + _globals['_PROCESSSTATEDURATIONS']._serialized_end=148 + _globals['_ANDROIDBOOTMETRIC']._serialized_start=151 + _globals['_ANDROIDBOOTMETRIC']._serialized_end=3157 + _globals['_ANDROIDBOOTMETRIC_LAUNCHERBREAKDOWN']._serialized_start=2121 + _globals['_ANDROIDBOOTMETRIC_LAUNCHERBREAKDOWN']._serialized_end=2164 + _globals['_ANDROIDBOOTMETRIC_PROCESSSTARTAGGREGATION']._serialized_start=2166 + _globals['_ANDROIDBOOTMETRIC_PROCESSSTARTAGGREGATION']._serialized_end=2270 + _globals['_ANDROIDBOOTMETRIC_GARBAGECOLLECTIONAGGREGATION']._serialized_start=2273 + _globals['_ANDROIDBOOTMETRIC_GARBAGECOLLECTIONAGGREGATION']._serialized_end=2644 + _globals['_ANDROIDBOOTMETRIC_OOMADJUSTERTRANSITIONCOUNTS']._serialized_start=2646 + _globals['_ANDROIDBOOTMETRIC_OOMADJUSTERTRANSITIONCOUNTS']._serialized_end=2745 + _globals['_ANDROIDBOOTMETRIC_OOMADJBUCKETDURATIONAGGREGATION']._serialized_start=2747 + _globals['_ANDROIDBOOTMETRIC_OOMADJBUCKETDURATIONAGGREGATION']._serialized_end=2829 + _globals['_ANDROIDBOOTMETRIC_OOMADJDURATIONAGGREGATION']._serialized_start=2832 + _globals['_ANDROIDBOOTMETRIC_OOMADJDURATIONAGGREGATION']._serialized_end=2987 + _globals['_ANDROIDBOOTMETRIC_BROADCASTCOUNTAGGREGATION']._serialized_start=2989 + _globals['_ANDROIDBOOTMETRIC_BROADCASTCOUNTAGGREGATION']._serialized_end=3045 + _globals['_ANDROIDBOOTMETRIC_BROADCASTDURATIONAGGREGATION']._serialized_start=3047 + _globals['_ANDROIDBOOTMETRIC_BROADCASTDURATIONAGGREGATION']._serialized_end=3157 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/android_boot_unagg_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/android_boot_unagg_pb2.py new file mode 100644 index 0000000..6223554 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/android_boot_unagg_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/android_boot_unagg.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/android_boot_unagg.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import app_process_starts_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_app__process__starts__metric__pb2 +from protos.perfetto.metrics.android import android_garbage_collection_unagg_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_android__garbage__collection__unagg__metric__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8protos/perfetto/metrics/android/android_boot_unagg.proto\x12\x0fperfetto.protos\x1a?protos/perfetto/metrics/android/app_process_starts_metric.proto\x1aMprotos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto\"\xc7\x01\n\x10\x41ndroidBootUnagg\x12X\n android_app_process_start_metric\x18\x01 \x01(\x0b\x32..perfetto.protos.AndroidAppProcessStartsMetric\x12Y\n\x1b\x61ndroid_post_boot_gc_metric\x18\x02 \x01(\x0b\x32\x34.perfetto.protos.AndroidGarbageCollectionUnaggMetric') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.android_boot_unagg_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDBOOTUNAGG']._serialized_start=222 + _globals['_ANDROIDBOOTUNAGG']._serialized_end=421 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/android_broadcasts_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/android_broadcasts_metric_pb2.py new file mode 100644 index 0000000..0e6a41d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/android_broadcasts_metric_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/android_broadcasts_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/android_broadcasts_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?protos/perfetto/metrics/android/android_broadcasts_metric.proto\x12\x0fperfetto.protos\"\xf1\x04\n\x17\x41ndroidBroadcastsMetric\x12\x63\n\x17process_count_by_intent\x18\x01 \x03(\x0b\x32\x42.perfetto.protos.AndroidBroadcastsMetric.BroadcastCountAggregation\x12\x66\n\x1a\x62roadcast_count_by_process\x18\x02 \x03(\x0b\x32\x42.perfetto.protos.AndroidBroadcastsMetric.BroadcastCountAggregation\x12n\n\x1f\x62rodcast_duration_agg_by_intent\x18\x03 \x03(\x0b\x32\x45.perfetto.protos.AndroidBroadcastsMetric.BroadcastDurationAggregation\x12o\n brodcast_duration_agg_by_process\x18\x04 \x03(\x0b\x32\x45.perfetto.protos.AndroidBroadcastsMetric.BroadcastDurationAggregation\x1a\x38\n\x19\x42roadcastCountAggregation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x03\x1an\n\x1c\x42roadcastDurationAggregation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x61vg_duration\x18\x02 \x01(\x01\x12\x14\n\x0cmax_duration\x18\x03 \x01(\x03\x12\x14\n\x0csum_duration\x18\x04 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.android_broadcasts_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDBROADCASTSMETRIC']._serialized_start=85 + _globals['_ANDROIDBROADCASTSMETRIC']._serialized_end=710 + _globals['_ANDROIDBROADCASTSMETRIC_BROADCASTCOUNTAGGREGATION']._serialized_start=542 + _globals['_ANDROIDBROADCASTSMETRIC_BROADCASTCOUNTAGGREGATION']._serialized_end=598 + _globals['_ANDROIDBROADCASTSMETRIC_BROADCASTDURATIONAGGREGATION']._serialized_start=600 + _globals['_ANDROIDBROADCASTSMETRIC_BROADCASTDURATIONAGGREGATION']._serialized_end=710 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/android_frame_timeline_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/android_frame_timeline_metric_pb2.py new file mode 100644 index 0000000..72e311f --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/android_frame_timeline_metric_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/android_frame_timeline_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/android_frame_timeline_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import process_metadata_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_process__metadata__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nCprotos/perfetto/metrics/android/android_frame_timeline_metric.proto\x12\x0fperfetto.protos\x1a\x36protos/perfetto/metrics/android/process_metadata.proto\"\x90\x08\n\x1a\x41ndroidFrameTimelineMetric\x12\x14\n\x0ctotal_frames\x18\x04 \x01(\x03\x12\x19\n\x11missed_app_frames\x18\x05 \x01(\x03\x12\x16\n\x0e\x64ropped_frames\x18\x06 \x01(\x03\x12M\n\x07process\x18\x02 \x03(\x0b\x32<.perfetto.protos.AndroidFrameTimelineMetric.ProcessBreakdown\x12N\n\njank_types\x18\x07 \x03(\x0b\x32:.perfetto.protos.AndroidFrameTimelineMetric.JankTypeMetric\x1a\xec\x01\n\x0eJankTypeMetric\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x13\n\x0btotal_count\x18\x02 \x01(\x03\x12!\n\x19present_unspecified_count\x18\x03 \x01(\x03\x12\x1d\n\x15present_on_time_count\x18\x04 \x01(\x03\x12\x1a\n\x12present_late_count\x18\x05 \x01(\x03\x12\x1b\n\x13present_early_count\x18\x06 \x01(\x03\x12\x1d\n\x15present_dropped_count\x18\x07 \x01(\x03\x12\x1d\n\x15present_unknown_count\x18\x08 \x01(\x03\x1a\x94\x04\n\x10ProcessBreakdown\x12\x38\n\x07process\x18\x03 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12\x14\n\x0ctotal_frames\x18\x04 \x01(\x03\x12\x15\n\rmissed_frames\x18\x05 \x01(\x03\x12\x19\n\x11missed_app_frames\x18\x06 \x01(\x03\x12\x18\n\x10missed_sf_frames\x18\x07 \x01(\x03\x12\x15\n\rframe_dur_max\x18\x08 \x01(\x03\x12\x15\n\rframe_dur_avg\x18\t \x01(\x03\x12\x15\n\rframe_dur_p50\x18\n \x01(\x03\x12\x15\n\rframe_dur_p90\x18\x0b \x01(\x03\x12\x15\n\rframe_dur_p95\x18\x0c \x01(\x03\x12\x15\n\rframe_dur_p99\x18\r \x01(\x03\x12\x18\n\x10\x66rame_dur_ms_p50\x18\x0e \x01(\x01\x12\x18\n\x10\x66rame_dur_ms_p90\x18\x0f \x01(\x01\x12\x18\n\x10\x66rame_dur_ms_p95\x18\x10 \x01(\x01\x12\x18\n\x10\x66rame_dur_ms_p99\x18\x11 \x01(\x01\x12\x16\n\x0e\x64ropped_frames\x18\x12 \x01(\x03\x12N\n\njank_types\x18\x13 \x03(\x0b\x32:.perfetto.protos.AndroidFrameTimelineMetric.JankTypeMetricJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x01\x10\x02') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.android_frame_timeline_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDFRAMETIMELINEMETRIC']._serialized_start=145 + _globals['_ANDROIDFRAMETIMELINEMETRIC']._serialized_end=1185 + _globals['_ANDROIDFRAMETIMELINEMETRIC_JANKTYPEMETRIC']._serialized_start=408 + _globals['_ANDROIDFRAMETIMELINEMETRIC_JANKTYPEMETRIC']._serialized_end=644 + _globals['_ANDROIDFRAMETIMELINEMETRIC_PROCESSBREAKDOWN']._serialized_start=647 + _globals['_ANDROIDFRAMETIMELINEMETRIC_PROCESSBREAKDOWN']._serialized_end=1179 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/android_garbage_collection_unagg_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/android_garbage_collection_unagg_metric_pb2.py new file mode 100644 index 0000000..4611fa8 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/android_garbage_collection_unagg_metric_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nMprotos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto\x12\x0fperfetto.protos\"\xc2\x04\n#AndroidGarbageCollectionUnaggMetric\x12^\n\tgc_events\x18\x01 \x03(\x0b\x32K.perfetto.protos.AndroidGarbageCollectionUnaggMetric.GarbageCollectionEvent\x1a\xba\x03\n\x16GarbageCollectionEvent\x12\x13\n\x0bthread_name\x18\x01 \x01(\t\x12\x14\n\x0cprocess_name\x18\x02 \x01(\t\x12\x0f\n\x07gc_type\x18\x03 \x01(\t\x12\x17\n\x0fis_mark_compact\x18\x04 \x01(\x03\x12\x14\n\x0creclaimed_mb\x18\x05 \x01(\x01\x12\x13\n\x0bmin_heap_mb\x18\x06 \x01(\x01\x12\x13\n\x0bmax_heap_mb\x18\x07 \x01(\x01\x12\x1f\n\x17mb_per_ms_of_running_gc\x18\x08 \x01(\x01\x12\x1c\n\x14mb_per_ms_of_wall_gc\x18\t \x01(\x01\x12\x0e\n\x06gc_dur\x18\n \x01(\x03\x12\x16\n\x0egc_running_dur\x18\x0b \x01(\x03\x12\x17\n\x0fgc_runnable_dur\x18\x0c \x01(\x03\x12\x17\n\x0fgc_unint_io_dur\x18\r \x01(\x03\x12\x1b\n\x13gc_unint_non_io_dur\x18\x0e \x01(\x03\x12\x12\n\ngc_int_dur\x18\x0f \x01(\x03\x12\r\n\x05gc_ts\x18\x10 \x01(\x03\x12\x0b\n\x03pid\x18\x11 \x01(\x03\x12\x0b\n\x03tid\x18\x12 \x01(\x03\x12\x18\n\x10gc_monotonic_dur\x18\x13 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.android_garbage_collection_unagg_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDGARBAGECOLLECTIONUNAGGMETRIC']._serialized_start=99 + _globals['_ANDROIDGARBAGECOLLECTIONUNAGGMETRIC']._serialized_end=677 + _globals['_ANDROIDGARBAGECOLLECTIONUNAGGMETRIC_GARBAGECOLLECTIONEVENT']._serialized_start=235 + _globals['_ANDROIDGARBAGECOLLECTIONUNAGGMETRIC_GARBAGECOLLECTIONEVENT']._serialized_end=677 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/android_oom_adjuster_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/android_oom_adjuster_metric_pb2.py new file mode 100644 index 0000000..3741493 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/android_oom_adjuster_metric_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/android_oom_adjuster_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/android_oom_adjuster_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nAprotos/perfetto/metrics/android/android_oom_adjuster_metric.proto\x12\x0fperfetto.protos\"\xb7\x08\n\x18\x41ndroidOomAdjusterMetric\x12t\n%oom_adjuster_transition_counts_global\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.AndroidOomAdjusterMetric.OomAdjusterTransitionCounts\x12x\n)oom_adjuster_transition_counts_by_process\x18\x02 \x03(\x0b\x32\x45.perfetto.protos.AndroidOomAdjusterMetric.OomAdjusterTransitionCounts\x12\x7f\n0oom_adjuster_transition_counts_by_oom_adj_reason\x18\x03 \x03(\x0b\x32\x45.perfetto.protos.AndroidOomAdjusterMetric.OomAdjusterTransitionCounts\x12u\n\"oom_adj_bucket_duration_agg_global\x18\x04 \x03(\x0b\x32I.perfetto.protos.AndroidOomAdjusterMetric.OomAdjBucketDurationAggregation\x12y\n&oom_adj_bucket_duration_agg_by_process\x18\x05 \x03(\x0b\x32I.perfetto.protos.AndroidOomAdjusterMetric.OomAdjBucketDurationAggregation\x12\x61\n\x14oom_adj_duration_agg\x18\x06 \x03(\x0b\x32\x43.perfetto.protos.AndroidOomAdjusterMetric.OomAdjDurationAggregation\x1a\x63\n\x1bOomAdjusterTransitionCounts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nsrc_bucket\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65st_bucket\x18\x03 \x01(\t\x12\r\n\x05\x63ount\x18\x04 \x01(\x03\x1aR\n\x1fOomAdjBucketDurationAggregation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12\x11\n\ttotal_dur\x18\x03 \x01(\x03\x1a\x9b\x01\n\x19OomAdjDurationAggregation\x12\x17\n\x0fmin_oom_adj_dur\x18\x01 \x01(\x03\x12\x17\n\x0fmax_oom_adj_dur\x18\x02 \x01(\x03\x12\x17\n\x0f\x61vg_oom_adj_dur\x18\x03 \x01(\x01\x12\x1b\n\x13oom_adj_event_count\x18\x04 \x01(\x03\x12\x16\n\x0eoom_adj_reason\x18\x05 \x01(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.android_oom_adjuster_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDOOMADJUSTERMETRIC']._serialized_start=87 + _globals['_ANDROIDOOMADJUSTERMETRIC']._serialized_end=1166 + _globals['_ANDROIDOOMADJUSTERMETRIC_OOMADJUSTERTRANSITIONCOUNTS']._serialized_start=825 + _globals['_ANDROIDOOMADJUSTERMETRIC_OOMADJUSTERTRANSITIONCOUNTS']._serialized_end=924 + _globals['_ANDROIDOOMADJUSTERMETRIC_OOMADJBUCKETDURATIONAGGREGATION']._serialized_start=926 + _globals['_ANDROIDOOMADJUSTERMETRIC_OOMADJBUCKETDURATIONAGGREGATION']._serialized_end=1008 + _globals['_ANDROIDOOMADJUSTERMETRIC_OOMADJDURATIONAGGREGATION']._serialized_start=1011 + _globals['_ANDROIDOOMADJUSTERMETRIC_OOMADJDURATIONAGGREGATION']._serialized_end=1166 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric_pb2.py new file mode 100644 index 0000000..52d4262 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import android_blocking_call_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_android__blocking__call__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nWprotos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric.proto\x12\x0fperfetto.protos\x1a;protos/perfetto/metrics/android/android_blocking_call.proto\"l\n,AndroidSysUINotificationsBlockingCallsMetric\x12<\n\x0e\x62locking_calls\x18\x01 \x03(\x0b\x32$.perfetto.protos.AndroidBlockingCall') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.android_sysui_notifications_blocking_calls_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDSYSUINOTIFICATIONSBLOCKINGCALLSMETRIC']._serialized_start=169 + _globals['_ANDROIDSYSUINOTIFICATIONSBLOCKINGCALLSMETRIC']._serialized_end=277 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/android_trusty_workqueues_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/android_trusty_workqueues_pb2.py new file mode 100644 index 0000000..9876095 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/android_trusty_workqueues_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/android_trusty_workqueues.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/android_trusty_workqueues.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?protos/perfetto/metrics/android/android_trusty_workqueues.proto\x12\x0fperfetto.protos\"\x19\n\x17\x41ndroidTrustyWorkqueues') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.android_trusty_workqueues_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDTRUSTYWORKQUEUES']._serialized_start=84 + _globals['_ANDROIDTRUSTYWORKQUEUES']._serialized_end=109 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/anr_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/anr_metric_pb2.py new file mode 100644 index 0000000..80a758c --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/anr_metric_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/anr_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/anr_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/metrics/android/anr_metric.proto\x12\x0fperfetto.protos\"\x9f\x01\n\x10\x41ndroidAnrMetric\x12\x32\n\x03\x61nr\x18\x01 \x03(\x0b\x32%.perfetto.protos.AndroidAnrMetric.Anr\x1aW\n\x03\x41nr\x12\x10\n\x08\x65rror_id\x18\x01 \x01(\t\x12\x14\n\x0cprocess_name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0f\n\x07subject\x18\x04 \x01(\t\x12\n\n\x02ts\x18\x05 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.anr_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDANRMETRIC']._serialized_start=70 + _globals['_ANDROIDANRMETRIC']._serialized_end=229 + _globals['_ANDROIDANRMETRIC_ANR']._serialized_start=142 + _globals['_ANDROIDANRMETRIC_ANR']._serialized_end=229 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/app_process_starts_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/app_process_starts_metric_pb2.py new file mode 100644 index 0000000..ab0e829 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/app_process_starts_metric_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/app_process_starts_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/app_process_starts_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?protos/perfetto/metrics/android/app_process_starts_metric.proto\x12\x0fperfetto.protos\"\xbe\x03\n\x1d\x41ndroidAppProcessStartsMetric\x12M\n\x08\x61ll_apps\x18\x01 \x03(\x0b\x32;.perfetto.protos.AndroidAppProcessStartsMetric.ProcessStart\x12Y\n\x14started_by_broadcast\x18\x02 \x03(\x0b\x32;.perfetto.protos.AndroidAppProcessStartsMetric.ProcessStart\x12W\n\x12started_by_service\x18\x03 \x03(\x0b\x32;.perfetto.protos.AndroidAppProcessStartsMetric.ProcessStart\x1a\x99\x01\n\x0cProcessStart\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12\x0e\n\x06intent\x18\x02 \x01(\t\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12\x16\n\x0eproc_start_dur\x18\x04 \x01(\x03\x12\x14\n\x0c\x62ind_app_dur\x18\x05 \x01(\x03\x12\x12\n\nintent_dur\x18\x06 \x01(\x03\x12\x11\n\ttotal_dur\x18\x07 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.app_process_starts_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDAPPPROCESSSTARTSMETRIC']._serialized_start=85 + _globals['_ANDROIDAPPPROCESSSTARTSMETRIC']._serialized_end=531 + _globals['_ANDROIDAPPPROCESSSTARTSMETRIC_PROCESSSTART']._serialized_start=378 + _globals['_ANDROIDAPPPROCESSSTARTSMETRIC_PROCESSSTART']._serialized_end=531 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/auto_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/auto_metric_pb2.py new file mode 100644 index 0000000..25ddbca --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/auto_metric_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/auto_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/auto_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1protos/perfetto/metrics/android/auto_metric.proto\x12\x0fperfetto.protos\"\xf7\x02\n\x1a\x41ndroidAutoMultiuserMetric\x12J\n\x0buser_switch\x18\x01 \x03(\x0b\x32\x35.perfetto.protos.AndroidAutoMultiuserMetric.EventData\x1a\x8c\x02\n\tEventData\x12\x0f\n\x07user_id\x18\x01 \x01(\x05\x12\x13\n\x0bstart_event\x18\x02 \x01(\t\x12\x11\n\tend_event\x18\x03 \x01(\t\x12\x13\n\x0b\x64uration_ms\x18\x04 \x01(\x03\x12Z\n\x12previous_user_info\x18\x05 \x01(\x0b\x32>.perfetto.protos.AndroidAutoMultiuserMetric.EventData.UserData\x1aU\n\x08UserData\x12\x0f\n\x07user_id\x18\x01 \x01(\x05\x12\x19\n\x11total_cpu_time_ms\x18\x02 \x01(\x03\x12\x1d\n\x15total_memory_usage_kb\x18\x03 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.auto_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDAUTOMULTIUSERMETRIC']._serialized_start=71 + _globals['_ANDROIDAUTOMULTIUSERMETRIC']._serialized_end=446 + _globals['_ANDROIDAUTOMULTIUSERMETRIC_EVENTDATA']._serialized_start=178 + _globals['_ANDROIDAUTOMULTIUSERMETRIC_EVENTDATA']._serialized_end=446 + _globals['_ANDROIDAUTOMULTIUSERMETRIC_EVENTDATA_USERDATA']._serialized_start=361 + _globals['_ANDROIDAUTOMULTIUSERMETRIC_EVENTDATA_USERDATA']._serialized_end=446 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/batt_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/batt_metric_pb2.py new file mode 100644 index 0000000..26a6cb4 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/batt_metric_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/batt_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/batt_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1protos/perfetto/metrics/android/batt_metric.proto\x12\x0fperfetto.protos\"\xc2\x05\n\x14\x41ndroidBatteryMetric\x12O\n\x10\x62\x61ttery_counters\x18\x01 \x03(\x0b\x32\x35.perfetto.protos.AndroidBatteryMetric.BatteryCounters\x12S\n\x12\x62\x61ttery_aggregates\x18\x02 \x01(\x0b\x32\x37.perfetto.protos.AndroidBatteryMetric.BatteryAggregates\x12K\n\x0esuspend_period\x18\x03 \x03(\x0b\x32\x33.perfetto.protos.AndroidBatteryMetric.SuspendPeriod\x1a\x89\x01\n\x0f\x42\x61tteryCounters\x12\x14\n\x0ctimestamp_ns\x18\x01 \x01(\x03\x12\x1a\n\x12\x63harge_counter_uah\x18\x02 \x01(\x01\x12\x18\n\x10\x63\x61pacity_percent\x18\x03 \x01(\x02\x12\x12\n\ncurrent_ua\x18\x04 \x01(\x01\x12\x16\n\x0e\x63urrent_avg_ua\x18\x05 \x01(\x01\x1a\xee\x01\n\x11\x42\x61tteryAggregates\x12\x1b\n\x13total_screen_off_ns\x18\x01 \x01(\x03\x12\x1a\n\x12total_screen_on_ns\x18\x02 \x01(\x03\x12\x1c\n\x14total_screen_doze_ns\x18\x03 \x01(\x03\x12\x19\n\x11total_wakelock_ns\x18\x04 \x01(\x03\x12\x10\n\x08sleep_ns\x18\x05 \x01(\x03\x12\x1b\n\x13sleep_screen_off_ns\x18\x06 \x01(\x03\x12\x1a\n\x12sleep_screen_on_ns\x18\x07 \x01(\x03\x12\x1c\n\x14sleep_screen_doze_ns\x18\x08 \x01(\x03\x1a:\n\rSuspendPeriod\x12\x14\n\x0ctimestamp_ns\x18\x01 \x01(\x03\x12\x13\n\x0b\x64uration_ns\x18\x02 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.batt_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDBATTERYMETRIC']._serialized_start=71 + _globals['_ANDROIDBATTERYMETRIC']._serialized_end=777 + _globals['_ANDROIDBATTERYMETRIC_BATTERYCOUNTERS']._serialized_start=339 + _globals['_ANDROIDBATTERYMETRIC_BATTERYCOUNTERS']._serialized_end=476 + _globals['_ANDROIDBATTERYMETRIC_BATTERYAGGREGATES']._serialized_start=479 + _globals['_ANDROIDBATTERYMETRIC_BATTERYAGGREGATES']._serialized_end=717 + _globals['_ANDROIDBATTERYMETRIC_SUSPENDPERIOD']._serialized_start=719 + _globals['_ANDROIDBATTERYMETRIC_SUSPENDPERIOD']._serialized_end=777 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/binder_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/binder_metric_pb2.py new file mode 100644 index 0000000..6ef989f --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/binder_metric_pb2.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/binder_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/binder_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/metrics/android/binder_metric.proto\x12\x0fperfetto.protos\"\x9e\x0c\n\x13\x41ndroidBinderMetric\x12S\n\x11process_breakdown\x18\x01 \x03(\x0b\x32\x38.perfetto.protos.AndroidBinderMetric.PerProcessBreakdown\x12\x61\n\x1aunaggregated_txn_breakdown\x18\x02 \x03(\x0b\x32=.perfetto.protos.AndroidBinderMetric.UnaggregatedTxnBreakdown\x1a[\n\x13PerProcessBreakdown\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x12\n\nslice_name\x18\x03 \x01(\t\x12\r\n\x05\x63ount\x18\x04 \x01(\r\x1a\x89\x07\n\x18UnaggregatedTxnBreakdown\x12\x11\n\taidl_name\x18\x01 \x01(\t\x12\x0f\n\x07\x61idl_ts\x18\x16 \x01(\x03\x12\x10\n\x08\x61idl_dur\x18\x17 \x01(\x03\x12\x0f\n\x07is_sync\x18\x15 \x01(\x08\x12\x16\n\x0e\x63lient_process\x18\x03 \x01(\t\x12\x15\n\rclient_thread\x18\x04 \x01(\t\x12\x16\n\x0eis_main_thread\x18\x05 \x01(\x08\x12\x11\n\tclient_ts\x18\x06 \x01(\x03\x12\x12\n\nclient_dur\x18\x07 \x01(\x03\x12\x1c\n\x14\x63lient_monotonic_dur\x18\x1c \x01(\x03\x12\x18\n\x10\x63lient_oom_score\x18\x13 \x01(\x03\x12#\n\x1b\x63lient_package_version_code\x18\x18 \x01(\x03\x12$\n\x1cis_client_package_debuggable\x18\x19 \x01(\x08\x12\x16\n\x0eserver_process\x18\t \x01(\t\x12\x15\n\rserver_thread\x18\n \x01(\t\x12\x11\n\tserver_ts\x18\x0b \x01(\x03\x12\x12\n\nserver_dur\x18\x0c \x01(\x03\x12\x1c\n\x14server_monotonic_dur\x18\x1d \x01(\x03\x12\x18\n\x10server_oom_score\x18\x14 \x01(\x03\x12#\n\x1bserver_package_version_code\x18\x1a \x01(\x03\x12$\n\x1cis_server_package_debuggable\x18\x1b \x01(\x08\x12P\n\rthread_states\x18\r \x03(\x0b\x32\x39.perfetto.protos.AndroidBinderMetric.ThreadStateBreakdown\x12X\n\x11\x62locked_functions\x18\x0e \x03(\x0b\x32=.perfetto.protos.AndroidBinderMetric.BlockedFunctionBreakdown\x12T\n\x0flogical_reasons\x18\x1f \x03(\x0b\x32;.perfetto.protos.AndroidBinderMetric.LogicalReasonBreakdown\x12\x12\n\nclient_tid\x18\x0f \x01(\r\x12\x12\n\nserver_tid\x18\x10 \x01(\r\x12\x12\n\nclient_pid\x18\x11 \x01(\r\x12\x12\n\nserver_pid\x18\x12 \x01(\rJ\x04\x08\x02\x10\x03J\x04\x08\x08\x10\t\x1a}\n\x14ThreadStateBreakdown\x12\x19\n\x11thread_state_type\x18\x01 \x01(\t\x12\x14\n\x0cthread_state\x18\x02 \x01(\t\x12\x18\n\x10thread_state_dur\x18\x03 \x01(\x03\x12\x1a\n\x12thread_state_count\x18\x04 \x01(\x03\x1a\x8d\x01\n\x18\x42lockedFunctionBreakdown\x12\x19\n\x11thread_state_type\x18\x01 \x01(\t\x12\x18\n\x10\x62locked_function\x18\x02 \x01(\t\x12\x1c\n\x14\x62locked_function_dur\x18\x03 \x01(\x03\x12\x1e\n\x16\x62locked_function_count\x18\x04 \x01(\x03\x1aW\n\x16LogicalReasonBreakdown\x12\x19\n\x11thread_state_type\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x12\n\nreason_dur\x18\x03 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.binder_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDBINDERMETRIC']._serialized_start=73 + _globals['_ANDROIDBINDERMETRIC']._serialized_end=1639 + _globals['_ANDROIDBINDERMETRIC_PERPROCESSBREAKDOWN']._serialized_start=280 + _globals['_ANDROIDBINDERMETRIC_PERPROCESSBREAKDOWN']._serialized_end=371 + _globals['_ANDROIDBINDERMETRIC_UNAGGREGATEDTXNBREAKDOWN']._serialized_start=374 + _globals['_ANDROIDBINDERMETRIC_UNAGGREGATEDTXNBREAKDOWN']._serialized_end=1279 + _globals['_ANDROIDBINDERMETRIC_THREADSTATEBREAKDOWN']._serialized_start=1281 + _globals['_ANDROIDBINDERMETRIC_THREADSTATEBREAKDOWN']._serialized_end=1406 + _globals['_ANDROIDBINDERMETRIC_BLOCKEDFUNCTIONBREAKDOWN']._serialized_start=1409 + _globals['_ANDROIDBINDERMETRIC_BLOCKEDFUNCTIONBREAKDOWN']._serialized_end=1550 + _globals['_ANDROIDBINDERMETRIC_LOGICALREASONBREAKDOWN']._serialized_start=1552 + _globals['_ANDROIDBINDERMETRIC_LOGICALREASONBREAKDOWN']._serialized_end=1639 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/camera_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/camera_metric_pb2.py new file mode 100644 index 0000000..797b4f5 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/camera_metric_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/camera_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/camera_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/metrics/android/camera_metric.proto\x12\x0fperfetto.protos\"\x8d\x01\n\x13\x41ndroidCameraMetric\x12\x44\n\x0egc_rss_and_dma\x18\x01 \x01(\x0b\x32,.perfetto.protos.AndroidCameraMetric.Counter\x1a\x30\n\x07\x43ounter\x12\x0b\n\x03min\x18\x01 \x01(\x01\x12\x0b\n\x03max\x18\x02 \x01(\x01\x12\x0b\n\x03\x61vg\x18\x03 \x01(\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.camera_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDCAMERAMETRIC']._serialized_start=73 + _globals['_ANDROIDCAMERAMETRIC']._serialized_end=214 + _globals['_ANDROIDCAMERAMETRIC_COUNTER']._serialized_start=166 + _globals['_ANDROIDCAMERAMETRIC_COUNTER']._serialized_end=214 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/camera_unagg_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/camera_unagg_metric_pb2.py new file mode 100644 index 0000000..94c726e --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/camera_unagg_metric_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/camera_unagg_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/camera_unagg_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/metrics/android/camera_unagg_metric.proto\x12\x0fperfetto.protos\"\xee\x01\n\x1f\x41ndroidCameraUnaggregatedMetric\x12N\n\x0egc_rss_and_dma\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.AndroidCameraUnaggregatedMetric.Value\x1a{\n\x05Value\x12\n\n\x02ts\x18\x01 \x01(\x03\x12\x13\n\x0bgca_rss_val\x18\x02 \x01(\x01\x12\x13\n\x0bhal_rss_val\x18\x03 \x01(\x01\x12\x1c\n\x14\x63\x61meraserver_rss_val\x18\x04 \x01(\x01\x12\x0f\n\x07\x64ma_val\x18\x05 \x01(\x01\x12\r\n\x05value\x18\x06 \x01(\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.camera_unagg_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDCAMERAUNAGGREGATEDMETRIC']._serialized_start=79 + _globals['_ANDROIDCAMERAUNAGGREGATEDMETRIC']._serialized_end=317 + _globals['_ANDROIDCAMERAUNAGGREGATEDMETRIC_VALUE']._serialized_start=194 + _globals['_ANDROIDCAMERAUNAGGREGATEDMETRIC_VALUE']._serialized_end=317 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/codec_metrics_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/codec_metrics_pb2.py new file mode 100644 index 0000000..96d725d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/codec_metrics_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/codec_metrics.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/codec_metrics.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import cpu_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_cpu__metric__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/metrics/android/codec_metrics.proto\x12\x0fperfetto.protos\x1a\x30protos/perfetto/metrics/android/cpu_metric.proto\"\x97\x04\n\x13\x41ndroidCodecMetrics\x12@\n\tcpu_usage\x18\x01 \x03(\x0b\x32-.perfetto.protos.AndroidCodecMetrics.CpuUsage\x12J\n\x0e\x63odec_function\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.AndroidCodecMetrics.CodecFunction\x1aK\n\x06\x44\x65tail\x12\x13\n\x0bthread_name\x18\x01 \x01(\t\x12\x14\n\x0ctotal_cpu_ns\x18\x02 \x01(\x03\x12\x16\n\x0erunning_cpu_ns\x18\x03 \x01(\x03\x1ax\n\rCodecFunction\x12\x14\n\x0c\x63odec_string\x18\x01 \x01(\t\x12\x14\n\x0cprocess_name\x18\x02 \x01(\t\x12;\n\x06\x64\x65tail\x18\x03 \x01(\x0b\x32+.perfetto.protos.AndroidCodecMetrics.Detail\x1a\xaa\x01\n\x08\x43puUsage\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12\x13\n\x0bthread_name\x18\x02 \x01(\t\x12\x15\n\rthread_cpu_ns\x18\x06 \x01(\x03\x12\x13\n\x0bnum_threads\x18\x04 \x01(\r\x12\x41\n\tcore_data\x18\x05 \x03(\x0b\x32..perfetto.protos.AndroidCpuMetric.CoreTypeDataJ\x04\x08\x03\x10\x04') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.codec_metrics_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDCODECMETRICS']._serialized_start=123 + _globals['_ANDROIDCODECMETRICS']._serialized_end=658 + _globals['_ANDROIDCODECMETRICS_DETAIL']._serialized_start=288 + _globals['_ANDROIDCODECMETRICS_DETAIL']._serialized_end=363 + _globals['_ANDROIDCODECMETRICS_CODECFUNCTION']._serialized_start=365 + _globals['_ANDROIDCODECMETRICS_CODECFUNCTION']._serialized_end=485 + _globals['_ANDROIDCODECMETRICS_CPUUSAGE']._serialized_start=488 + _globals['_ANDROIDCODECMETRICS_CPUUSAGE']._serialized_end=658 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/cpu_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/cpu_metric_pb2.py new file mode 100644 index 0000000..e816045 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/cpu_metric_pb2.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/cpu_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/cpu_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import process_metadata_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_process__metadata__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/metrics/android/cpu_metric.proto\x12\x0fperfetto.protos\x1a\x36protos/perfetto/metrics/android/process_metadata.proto\"\x9f\x07\n\x10\x41ndroidCpuMetric\x12?\n\x0cprocess_info\x18\x01 \x03(\x0b\x32).perfetto.protos.AndroidCpuMetric.Process\x1ap\n\x07Metrics\x12\x0f\n\x07mcycles\x18\x01 \x01(\x03\x12\x12\n\nruntime_ns\x18\x02 \x01(\x03\x12\x14\n\x0cmin_freq_khz\x18\x03 \x01(\x03\x12\x14\n\x0cmax_freq_khz\x18\x04 \x01(\x03\x12\x14\n\x0c\x61vg_freq_khz\x18\x05 \x01(\x03\x1aX\n\x08\x43oreData\x12\n\n\x02id\x18\x01 \x01(\r\x12:\n\x07metrics\x18\x06 \x01(\x0b\x32).perfetto.protos.AndroidCpuMetric.MetricsJ\x04\x08\x02\x10\x06\x1aX\n\x0c\x43oreTypeData\x12\x0c\n\x04type\x18\x01 \x01(\t\x12:\n\x07metrics\x18\x02 \x01(\x0b\x32).perfetto.protos.AndroidCpuMetric.Metrics\x1a\xd5\x01\n\x06Thread\x12\x0c\n\x04name\x18\x01 \x01(\t\x12:\n\x07metrics\x18\x04 \x01(\x0b\x32).perfetto.protos.AndroidCpuMetric.Metrics\x12\x38\n\x04\x63ore\x18\x02 \x03(\x0b\x32*.perfetto.protos.AndroidCpuMetric.CoreData\x12\x41\n\tcore_type\x18\x05 \x03(\x0b\x32..perfetto.protos.AndroidCpuMetric.CoreTypeDataJ\x04\x08\x03\x10\x04\x1a\xcb\x02\n\x07Process\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x07process\x18\x08 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12:\n\x07metrics\x18\x04 \x01(\x0b\x32).perfetto.protos.AndroidCpuMetric.Metrics\x12\x39\n\x07threads\x18\x06 \x03(\x0b\x32(.perfetto.protos.AndroidCpuMetric.Thread\x12\x38\n\x04\x63ore\x18\x07 \x03(\x0b\x32*.perfetto.protos.AndroidCpuMetric.CoreData\x12\x41\n\tcore_type\x18\x05 \x03(\x0b\x32..perfetto.protos.AndroidCpuMetric.CoreTypeDataJ\x04\x08\x03\x10\x04') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.cpu_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDCPUMETRIC']._serialized_start=126 + _globals['_ANDROIDCPUMETRIC']._serialized_end=1053 + _globals['_ANDROIDCPUMETRIC_METRICS']._serialized_start=211 + _globals['_ANDROIDCPUMETRIC_METRICS']._serialized_end=323 + _globals['_ANDROIDCPUMETRIC_COREDATA']._serialized_start=325 + _globals['_ANDROIDCPUMETRIC_COREDATA']._serialized_end=413 + _globals['_ANDROIDCPUMETRIC_CORETYPEDATA']._serialized_start=415 + _globals['_ANDROIDCPUMETRIC_CORETYPEDATA']._serialized_end=503 + _globals['_ANDROIDCPUMETRIC_THREAD']._serialized_start=506 + _globals['_ANDROIDCPUMETRIC_THREAD']._serialized_end=719 + _globals['_ANDROIDCPUMETRIC_PROCESS']._serialized_start=722 + _globals['_ANDROIDCPUMETRIC_PROCESS']._serialized_end=1053 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/display_metrics_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/display_metrics_pb2.py new file mode 100644 index 0000000..59dbf08 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/display_metrics_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/display_metrics.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/display_metrics.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5protos/perfetto/metrics/android/display_metrics.proto\x12\x0fperfetto.protos\"\xe2\x03\n\x15\x41ndroidDisplayMetrics\x12\x1e\n\x16total_duplicate_frames\x18\x01 \x01(\r\x12\x1f\n\x17\x64uplicate_frames_logged\x18\x02 \x01(\r\x12 \n\x18total_dpu_underrun_count\x18\x03 \x01(\r\x12\x1d\n\x15refresh_rate_switches\x18\x04 \x01(\r\x12R\n\x12refresh_rate_stats\x18\x05 \x03(\x0b\x32\x36.perfetto.protos.AndroidDisplayMetrics.RefreshRateStat\x12S\n\x12update_power_state\x18\x06 \x01(\x0b\x32\x37.perfetto.protos.AndroidDisplayMetrics.UpdatePowerState\x1a\x64\n\x0fRefreshRateStat\x12\x18\n\x10refresh_rate_fps\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x14\n\x0ctotal_dur_ms\x18\x03 \x01(\x01\x12\x12\n\navg_dur_ms\x18\x04 \x01(\x01\x1a\x38\n\x10UpdatePowerState\x12\x1e\n\x16\x61vg_runtime_micro_secs\x18\x02 \x01(\rJ\x04\x08\x01\x10\x02') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.display_metrics_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDDISPLAYMETRICS']._serialized_start=75 + _globals['_ANDROIDDISPLAYMETRICS']._serialized_end=557 + _globals['_ANDROIDDISPLAYMETRICS_REFRESHRATESTAT']._serialized_start=399 + _globals['_ANDROIDDISPLAYMETRICS_REFRESHRATESTAT']._serialized_end=499 + _globals['_ANDROIDDISPLAYMETRICS_UPDATEPOWERSTATE']._serialized_start=501 + _globals['_ANDROIDDISPLAYMETRICS_UPDATEPOWERSTATE']._serialized_end=557 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/dma_heap_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/dma_heap_metric_pb2.py new file mode 100644 index 0000000..a3efd4c --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/dma_heap_metric_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/dma_heap_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/dma_heap_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5protos/perfetto/metrics/android/dma_heap_metric.proto\x12\x0fperfetto.protos\"\x9f\x02\n\x14\x41ndroidDmaHeapMetric\x12\x16\n\x0e\x61vg_size_bytes\x18\x01 \x01(\x01\x12\x16\n\x0emin_size_bytes\x18\x02 \x01(\x01\x12\x16\n\x0emax_size_bytes\x18\x03 \x01(\x01\x12\x1e\n\x16total_alloc_size_bytes\x18\x04 \x01(\x01\x12\x19\n\x11total_delta_bytes\x18\x05 \x01(\x05\x12I\n\rprocess_stats\x18\x06 \x03(\x0b\x32\x32.perfetto.protos.AndroidDmaHeapMetric.ProcessStats\x1a\x39\n\x0cProcessStats\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65lta_bytes\x18\x02 \x01(\x05') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.dma_heap_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDDMAHEAPMETRIC']._serialized_start=75 + _globals['_ANDROIDDMAHEAPMETRIC']._serialized_end=362 + _globals['_ANDROIDDMAHEAPMETRIC_PROCESSSTATS']._serialized_start=305 + _globals['_ANDROIDDMAHEAPMETRIC_PROCESSSTATS']._serialized_end=362 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/dvfs_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/dvfs_metric_pb2.py new file mode 100644 index 0000000..7eca92a --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/dvfs_metric_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/dvfs_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/dvfs_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1protos/perfetto/metrics/android/dvfs_metric.proto\x12\x0fperfetto.protos\"\x96\x02\n\x11\x41ndroidDvfsMetric\x12O\n\x10\x66req_residencies\x18\x01 \x03(\x0b\x32\x35.perfetto.protos.AndroidDvfsMetric.FrequencyResidency\x1aG\n\x08\x42\x61ndStat\x12\x12\n\nfreq_value\x18\x01 \x01(\x05\x12\x12\n\npercentage\x18\x02 \x01(\x01\x12\x13\n\x0b\x64uration_ns\x18\x03 \x01(\x03\x1ag\n\x12\x46requencyResidency\x12\x11\n\tfreq_name\x18\x01 \x01(\t\x12>\n\tband_stat\x18\x02 \x03(\x0b\x32+.perfetto.protos.AndroidDvfsMetric.BandStat') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.dvfs_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDDVFSMETRIC']._serialized_start=71 + _globals['_ANDROIDDVFSMETRIC']._serialized_end=349 + _globals['_ANDROIDDVFSMETRIC_BANDSTAT']._serialized_start=173 + _globals['_ANDROIDDVFSMETRIC_BANDSTAT']._serialized_end=244 + _globals['_ANDROIDDVFSMETRIC_FREQUENCYRESIDENCY']._serialized_start=246 + _globals['_ANDROIDDVFSMETRIC_FREQUENCYRESIDENCY']._serialized_end=349 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/fastrpc_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/fastrpc_metric_pb2.py new file mode 100644 index 0000000..4e77c6e --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/fastrpc_metric_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/fastrpc_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/fastrpc_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4protos/perfetto/metrics/android/fastrpc_metric.proto\x12\x0fperfetto.protos\"\xde\x01\n\x14\x41ndroidFastrpcMetric\x12\x42\n\tsubsystem\x18\x01 \x03(\x0b\x32/.perfetto.protos.AndroidFastrpcMetric.Subsystem\x1a\x81\x01\n\tSubsystem\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0e\x61vg_size_bytes\x18\x02 \x01(\x01\x12\x16\n\x0emin_size_bytes\x18\x03 \x01(\x01\x12\x16\n\x0emax_size_bytes\x18\x04 \x01(\x01\x12\x1e\n\x16total_alloc_size_bytes\x18\x05 \x01(\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.fastrpc_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDFASTRPCMETRIC']._serialized_start=74 + _globals['_ANDROIDFASTRPCMETRIC']._serialized_end=296 + _globals['_ANDROIDFASTRPCMETRIC_SUBSYSTEM']._serialized_start=167 + _globals['_ANDROIDFASTRPCMETRIC_SUBSYSTEM']._serialized_end=296 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/g2d_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/g2d_metric_pb2.py new file mode 100644 index 0000000..80c2028 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/g2d_metric_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/g2d_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/g2d_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/metrics/android/g2d_metric.proto\x12\x0fperfetto.protos\"\xba\x03\n\nG2dMetrics\x12\x35\n\x06g2d_hw\x18\x01 \x01(\x0b\x32%.perfetto.protos.G2dMetrics.G2dMetric\x12\x35\n\x06g2d_sw\x18\x02 \x01(\x0b\x32%.perfetto.protos.G2dMetrics.G2dMetric\x1a\x87\x01\n\x0bG2dInstance\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x66rame_count\x18\x05 \x01(\r\x12\x13\n\x0b\x65rror_count\x18\x06 \x01(\r\x12\x12\n\nmax_dur_ms\x18\x07 \x01(\x01\x12\x12\n\nmin_dur_ms\x18\x08 \x01(\x01\x12\x12\n\navg_dur_ms\x18\t \x01(\x01J\x04\x08\x02\x10\x05\x1a\xb3\x01\n\tG2dMetric\x12:\n\tinstances\x18\x01 \x03(\x0b\x32\'.perfetto.protos.G2dMetrics.G2dInstance\x12\x13\n\x0b\x66rame_count\x18\x05 \x01(\r\x12\x13\n\x0b\x65rror_count\x18\x06 \x01(\r\x12\x12\n\nmax_dur_ms\x18\x07 \x01(\x01\x12\x12\n\nmin_dur_ms\x18\x08 \x01(\x01\x12\x12\n\navg_dur_ms\x18\t \x01(\x01J\x04\x08\x02\x10\x05') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.g2d_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_G2DMETRICS']._serialized_start=70 + _globals['_G2DMETRICS']._serialized_end=512 + _globals['_G2DMETRICS_G2DINSTANCE']._serialized_start=195 + _globals['_G2DMETRICS_G2DINSTANCE']._serialized_end=330 + _globals['_G2DMETRICS_G2DMETRIC']._serialized_start=333 + _globals['_G2DMETRICS_G2DMETRIC']._serialized_end=512 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/gpu_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/gpu_metric_pb2.py new file mode 100644 index 0000000..23df561 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/gpu_metric_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/gpu_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/gpu_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/metrics/android/gpu_metric.proto\x12\x0fperfetto.protos\"\x96\x04\n\x10\x41ndroidGpuMetric\x12<\n\tprocesses\x18\x01 \x03(\x0b\x32).perfetto.protos.AndroidGpuMetric.Process\x12\x0f\n\x07mem_max\x18\x02 \x01(\x03\x12\x0f\n\x07mem_min\x18\x03 \x01(\x03\x12\x0f\n\x07mem_avg\x18\x04 \x01(\x03\x12G\n\x0c\x66req_metrics\x18\x05 \x03(\x0b\x32\x31.perfetto.protos.AndroidGpuMetric.FrequencyMetric\x1aJ\n\x07Process\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07mem_max\x18\x02 \x01(\x03\x12\x0f\n\x07mem_min\x18\x03 \x01(\x03\x12\x0f\n\x07mem_avg\x18\x04 \x01(\x03\x1a\xfb\x01\n\x0f\x46requencyMetric\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x10\n\x08\x66req_max\x18\x02 \x01(\x03\x12\x10\n\x08\x66req_min\x18\x03 \x01(\x03\x12\x10\n\x08\x66req_avg\x18\x04 \x01(\x01\x12Y\n\nused_freqs\x18\x05 \x03(\x0b\x32\x45.perfetto.protos.AndroidGpuMetric.FrequencyMetric.MetricsPerFrequency\x1aG\n\x13MetricsPerFrequency\x12\x0c\n\x04\x66req\x18\x01 \x01(\x03\x12\x0e\n\x06\x64ur_ms\x18\x02 \x01(\x01\x12\x12\n\npercentage\x18\x03 \x01(\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.gpu_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDGPUMETRIC']._serialized_start=70 + _globals['_ANDROIDGPUMETRIC']._serialized_end=604 + _globals['_ANDROIDGPUMETRIC_PROCESS']._serialized_start=276 + _globals['_ANDROIDGPUMETRIC_PROCESS']._serialized_end=350 + _globals['_ANDROIDGPUMETRIC_FREQUENCYMETRIC']._serialized_start=353 + _globals['_ANDROIDGPUMETRIC_FREQUENCYMETRIC']._serialized_end=604 + _globals['_ANDROIDGPUMETRIC_FREQUENCYMETRIC_METRICSPERFREQUENCY']._serialized_start=533 + _globals['_ANDROIDGPUMETRIC_FREQUENCYMETRIC_METRICSPERFREQUENCY']._serialized_end=604 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/hwcomposer_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/hwcomposer_pb2.py new file mode 100644 index 0000000..46a35f5 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/hwcomposer_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/hwcomposer.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/hwcomposer.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/metrics/android/hwcomposer.proto\x12\x0fperfetto.protos\"\xf3\n\n\x18\x41ndroidHwcomposerMetrics\x12 \n\x18\x63omposition_total_layers\x18\x01 \x01(\x01\x12\x1e\n\x16\x63omposition_dpu_layers\x18\x02 \x01(\x01\x12\x1e\n\x16\x63omposition_gpu_layers\x18\x03 \x01(\x01\x12%\n\x1d\x63omposition_dpu_cached_layers\x18\x04 \x01(\x01\x12$\n\x1c\x63omposition_sf_cached_layers\x18\x05 \x01(\x01\x12\x1e\n\x16\x63omposition_rcd_layers\x18\x0f \x01(\x01\x12 \n\x18skipped_validation_count\x18\x06 \x01(\x05\x12\"\n\x1aunskipped_validation_count\x18\x07 \x01(\x05\x12\"\n\x1aseparated_validation_count\x18\x08 \x01(\x05\x12 \n\x18unknown_validation_count\x18\t \x01(\x05\x12!\n\x19\x61vg_all_execution_time_ms\x18\n \x01(\x01\x12%\n\x1d\x61vg_skipped_execution_time_ms\x18\x0b \x01(\x01\x12\'\n\x1f\x61vg_unskipped_execution_time_ms\x18\x0c \x01(\x01\x12\'\n\x1f\x61vg_separated_execution_time_ms\x18\r \x01(\x01\x12R\n\x10\x64pu_vote_metrics\x18\x0e \x03(\x0b\x32\x38.perfetto.protos.AndroidHwcomposerMetrics.DpuVoteMetrics\x12X\n\x13metrics_per_display\x18\x10 \x03(\x0b\x32;.perfetto.protos.AndroidHwcomposerMetrics.MetricsPerDisplay\x1a\x90\x01\n\x0e\x44puVoteMetrics\x12\x0b\n\x03tid\x18\x01 \x01(\r\x12\x1a\n\x12\x61vg_dpu_vote_clock\x18\x02 \x01(\x01\x12\x1b\n\x13\x61vg_dpu_vote_avg_bw\x18\x03 \x01(\x01\x12\x1c\n\x14\x61vg_dpu_vote_peak_bw\x18\x04 \x01(\x01\x12\x1a\n\x12\x61vg_dpu_vote_rt_bw\x18\x05 \x01(\x01\x1a\x9e\x04\n\x11MetricsPerDisplay\x12\x12\n\ndisplay_id\x18\x01 \x01(\t\x12 \n\x18\x63omposition_total_layers\x18\x02 \x01(\x01\x12\x1e\n\x16\x63omposition_dpu_layers\x18\x03 \x01(\x01\x12\x1e\n\x16\x63omposition_gpu_layers\x18\x04 \x01(\x01\x12%\n\x1d\x63omposition_dpu_cached_layers\x18\x05 \x01(\x01\x12$\n\x1c\x63omposition_sf_cached_layers\x18\x06 \x01(\x01\x12\x1e\n\x16\x63omposition_rcd_layers\x18\x07 \x01(\x01\x12 \n\x18skipped_validation_count\x18\x08 \x01(\x05\x12\"\n\x1aunskipped_validation_count\x18\t \x01(\x05\x12\"\n\x1aseparated_validation_count\x18\n \x01(\x05\x12 \n\x18unknown_validation_count\x18\x0b \x01(\x05\x12!\n\x19\x61vg_all_execution_time_ms\x18\x0c \x01(\x01\x12%\n\x1d\x61vg_skipped_execution_time_ms\x18\r \x01(\x01\x12\'\n\x1f\x61vg_unskipped_execution_time_ms\x18\x0e \x01(\x01\x12\'\n\x1f\x61vg_separated_execution_time_ms\x18\x0f \x01(\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.hwcomposer_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDHWCOMPOSERMETRICS']._serialized_start=70 + _globals['_ANDROIDHWCOMPOSERMETRICS']._serialized_end=1465 + _globals['_ANDROIDHWCOMPOSERMETRICS_DPUVOTEMETRICS']._serialized_start=776 + _globals['_ANDROIDHWCOMPOSERMETRICS_DPUVOTEMETRICS']._serialized_end=920 + _globals['_ANDROIDHWCOMPOSERMETRICS_METRICSPERDISPLAY']._serialized_start=923 + _globals['_ANDROIDHWCOMPOSERMETRICS_METRICSPERDISPLAY']._serialized_end=1465 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/hwui_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/hwui_metric_pb2.py new file mode 100644 index 0000000..b40da8a --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/hwui_metric_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/hwui_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/hwui_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1protos/perfetto/metrics/android/hwui_metric.proto\x12\x0fperfetto.protos\"\xd3\x08\n\x11ProcessRenderInfo\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12\x16\n\x0ert_cpu_time_ms\x18\x02 \x01(\x03\x12\x18\n\x10\x64raw_frame_count\x18\x03 \x01(\r\x12\x16\n\x0e\x64raw_frame_max\x18\x04 \x01(\x03\x12\x16\n\x0e\x64raw_frame_min\x18\x05 \x01(\x03\x12\x16\n\x0e\x64raw_frame_avg\x18\x06 \x01(\x01\x12\x13\n\x0b\x66lush_count\x18\x07 \x01(\r\x12\x11\n\tflush_max\x18\x08 \x01(\x03\x12\x11\n\tflush_min\x18\t \x01(\x03\x12\x11\n\tflush_avg\x18\n \x01(\x01\x12\x1a\n\x12prepare_tree_count\x18\x0b \x01(\r\x12\x18\n\x10prepare_tree_max\x18\x0c \x01(\x03\x12\x18\n\x10prepare_tree_min\x18\r \x01(\x03\x12\x18\n\x10prepare_tree_avg\x18\x0e \x01(\x01\x12\x1c\n\x14gpu_completion_count\x18\x0f \x01(\r\x12\x1a\n\x12gpu_completion_max\x18\x10 \x01(\x03\x12\x1a\n\x12gpu_completion_min\x18\x11 \x01(\x03\x12\x1a\n\x12gpu_completion_avg\x18\x12 \x01(\x01\x12\x17\n\x0fui_record_count\x18\x13 \x01(\r\x12\x15\n\rui_record_max\x18\x14 \x01(\x03\x12\x15\n\rui_record_min\x18\x15 \x01(\x03\x12\x15\n\rui_record_avg\x18\x16 \x01(\x01\x12\x1c\n\x14shader_compile_count\x18\x17 \x01(\r\x12\x1b\n\x13shader_compile_time\x18\x18 \x01(\x03\x12\x1a\n\x12shader_compile_avg\x18\x19 \x01(\x01\x12\x17\n\x0f\x63\x61\x63he_hit_count\x18\x1a \x01(\r\x12\x16\n\x0e\x63\x61\x63he_hit_time\x18\x1b \x01(\x03\x12\x15\n\rcache_hit_avg\x18\x1c \x01(\x01\x12\x18\n\x10\x63\x61\x63he_miss_count\x18\x1d \x01(\r\x12\x17\n\x0f\x63\x61\x63he_miss_time\x18\x1e \x01(\x03\x12\x16\n\x0e\x63\x61\x63he_miss_avg\x18\x1f \x01(\x01\x12\x1c\n\x14graphics_cpu_mem_max\x18 \x01(\x03\x12\x1c\n\x14graphics_cpu_mem_min\x18! \x01(\x03\x12\x1c\n\x14graphics_cpu_mem_avg\x18\" \x01(\x01\x12\x1c\n\x14graphics_gpu_mem_max\x18# \x01(\x03\x12\x1c\n\x14graphics_gpu_mem_min\x18$ \x01(\x03\x12\x1c\n\x14graphics_gpu_mem_avg\x18% \x01(\x01\x12\x17\n\x0ftexture_mem_max\x18& \x01(\x03\x12\x17\n\x0ftexture_mem_min\x18\' \x01(\x03\x12\x17\n\x0ftexture_mem_avg\x18( \x01(\x01\x12\x13\n\x0b\x61ll_mem_max\x18) \x01(\x03\x12\x13\n\x0b\x61ll_mem_min\x18* \x01(\x03\x12\x13\n\x0b\x61ll_mem_avg\x18+ \x01(\x01\"M\n\x11\x41ndroidHwuiMetric\x12\x38\n\x0cprocess_info\x18\x01 \x03(\x0b\x32\".perfetto.protos.ProcessRenderInfo') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.hwui_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PROCESSRENDERINFO']._serialized_start=71 + _globals['_PROCESSRENDERINFO']._serialized_end=1178 + _globals['_ANDROIDHWUIMETRIC']._serialized_start=1180 + _globals['_ANDROIDHWUIMETRIC']._serialized_end=1257 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/io_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/io_metric_pb2.py new file mode 100644 index 0000000..1c82975 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/io_metric_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/io_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/io_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/protos/perfetto/metrics/android/io_metric.proto\x12\x0fperfetto.protos\"\xce\x03\n\tAndroidIo\x12G\n\x12\x66\x32\x66s_counter_stats\x18\x01 \x03(\x0b\x32+.perfetto.protos.AndroidIo.F2fsCounterStats\x12\x43\n\x10\x66\x32\x66s_write_stats\x18\x02 \x03(\x0b\x32).perfetto.protos.AndroidIo.F2fsWriteStats\x1ap\n\x10\x46\x32\x66sCounterStats\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03max\x18\x02 \x01(\x01\x12\x0b\n\x03sum\x18\x03 \x01(\x01\x12\x0b\n\x03min\x18\x05 \x01(\x01\x12\x0b\n\x03\x64ur\x18\x06 \x01(\x03\x12\r\n\x05\x63ount\x18\x07 \x01(\x03\x12\x0b\n\x03\x61vg\x18\x08 \x01(\x01\x1a\xc0\x01\n\x0e\x46\x32\x66sWriteStats\x12\x19\n\x11total_write_count\x18\x01 \x01(\x03\x12\x1a\n\x12\x64istinct_processes\x18\x02 \x01(\x03\x12\x1b\n\x13total_bytes_written\x18\x03 \x01(\x03\x12\x1d\n\x15\x64istinct_device_count\x18\x04 \x01(\x03\x12\x1c\n\x14\x64istinct_inode_count\x18\x05 \x01(\x03\x12\x1d\n\x15\x64istinct_thread_count\x18\x06 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.io_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDIO']._serialized_start=69 + _globals['_ANDROIDIO']._serialized_end=531 + _globals['_ANDROIDIO_F2FSCOUNTERSTATS']._serialized_start=224 + _globals['_ANDROIDIO_F2FSCOUNTERSTATS']._serialized_end=336 + _globals['_ANDROIDIO_F2FSWRITESTATS']._serialized_start=339 + _globals['_ANDROIDIO_F2FSWRITESTATS']._serialized_end=531 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/io_unagg_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/io_unagg_metric_pb2.py new file mode 100644 index 0000000..dfd7d6b --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/io_unagg_metric_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/io_unagg_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/io_unagg_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5protos/perfetto/metrics/android/io_unagg_metric.proto\x12\x0fperfetto.protos\"\xfe\x01\n\x15\x41ndroidIoUnaggregated\x12h\n\x1d\x66\x32\x66s_write_unaggregated_stats\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.AndroidIoUnaggregated.F2fsWriteUnaggreagatedStat\x1a{\n\x1a\x46\x32\x66sWriteUnaggreagatedStat\x12\x0b\n\x03tid\x18\x01 \x01(\r\x12\x13\n\x0bthread_name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\r\x12\x14\n\x0cprocess_name\x18\x04 \x01(\t\x12\x0b\n\x03ino\x18\x05 \x01(\x03\x12\x0b\n\x03\x64\x65v\x18\x06 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.io_unagg_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDIOUNAGGREGATED']._serialized_start=75 + _globals['_ANDROIDIOUNAGGREGATED']._serialized_end=329 + _globals['_ANDROIDIOUNAGGREGATED_F2FSWRITEUNAGGREAGATEDSTAT']._serialized_start=206 + _globals['_ANDROIDIOUNAGGREGATED_F2FSWRITEUNAGGREAGATEDSTAT']._serialized_end=329 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/ion_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/ion_metric_pb2.py new file mode 100644 index 0000000..bc4e889 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/ion_metric_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/ion_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/ion_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/metrics/android/ion_metric.proto\x12\x0fperfetto.protos\"\xcc\x01\n\x10\x41ndroidIonMetric\x12\x38\n\x06\x62uffer\x18\x01 \x03(\x0b\x32(.perfetto.protos.AndroidIonMetric.Buffer\x1a~\n\x06\x42uffer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0e\x61vg_size_bytes\x18\x02 \x01(\x01\x12\x16\n\x0emin_size_bytes\x18\x03 \x01(\x01\x12\x16\n\x0emax_size_bytes\x18\x04 \x01(\x01\x12\x1e\n\x16total_alloc_size_bytes\x18\x05 \x01(\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.ion_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDIONMETRIC']._serialized_start=70 + _globals['_ANDROIDIONMETRIC']._serialized_end=274 + _globals['_ANDROIDIONMETRIC_BUFFER']._serialized_start=148 + _globals['_ANDROIDIONMETRIC_BUFFER']._serialized_end=274 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/irq_runtime_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/irq_runtime_metric_pb2.py new file mode 100644 index 0000000..652b09a --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/irq_runtime_metric_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/irq_runtime_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/irq_runtime_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8protos/perfetto/metrics/android/irq_runtime_metric.proto\x12\x0fperfetto.protos\"\xa3\x04\n\x17\x41ndroidIrqRuntimeMetric\x12I\n\x06hw_irq\x18\x01 \x01(\x0b\x32\x39.perfetto.protos.AndroidIrqRuntimeMetric.IrqRuntimeMetric\x12I\n\x06sw_irq\x18\x02 \x01(\x0b\x32\x39.perfetto.protos.AndroidIrqRuntimeMetric.IrqRuntimeMetric\x1a\x35\n\x08IrqSlice\x12\x10\n\x08irq_name\x18\x01 \x01(\t\x12\n\n\x02ts\x18\x02 \x01(\x03\x12\x0b\n\x03\x64ur\x18\x03 \x01(\x03\x1aY\n\x0fThresholdMetric\x12\x11\n\tthreshold\x18\x01 \x01(\t\x12\x1c\n\x14over_threshold_count\x18\x02 \x01(\x03\x12\x15\n\ranomaly_ratio\x18\x03 \x01(\x01\x1a\xdf\x01\n\x10IrqRuntimeMetric\x12\x13\n\x0bmax_runtime\x18\x01 \x01(\x03\x12\x13\n\x0btotal_count\x18\x02 \x01(\x03\x12R\n\x10threshold_metric\x18\x03 \x01(\x0b\x32\x38.perfetto.protos.AndroidIrqRuntimeMetric.ThresholdMetric\x12M\n\x12longest_irq_slices\x18\x04 \x03(\x0b\x32\x31.perfetto.protos.AndroidIrqRuntimeMetric.IrqSlice') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.irq_runtime_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDIRQRUNTIMEMETRIC']._serialized_start=78 + _globals['_ANDROIDIRQRUNTIMEMETRIC']._serialized_end=625 + _globals['_ANDROIDIRQRUNTIMEMETRIC_IRQSLICE']._serialized_start=255 + _globals['_ANDROIDIRQRUNTIMEMETRIC_IRQSLICE']._serialized_end=308 + _globals['_ANDROIDIRQRUNTIMEMETRIC_THRESHOLDMETRIC']._serialized_start=310 + _globals['_ANDROIDIRQRUNTIMEMETRIC_THRESHOLDMETRIC']._serialized_end=399 + _globals['_ANDROIDIRQRUNTIMEMETRIC_IRQRUNTIMEMETRIC']._serialized_start=402 + _globals['_ANDROIDIRQRUNTIMEMETRIC_IRQRUNTIMEMETRIC']._serialized_end=625 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/jank_cuj_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/jank_cuj_metric_pb2.py new file mode 100644 index 0000000..2fc0641 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/jank_cuj_metric_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/jank_cuj_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/jank_cuj_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import process_metadata_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_process__metadata__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5protos/perfetto/metrics/android/jank_cuj_metric.proto\x12\x0fperfetto.protos\x1a\x36protos/perfetto/metrics/android/process_metadata.proto\"\xb6\t\n\x14\x41ndroidJankCujMetric\x12\x36\n\x03\x63uj\x18\x01 \x03(\x0b\x32).perfetto.protos.AndroidJankCujMetric.Cuj\x1a\xd8\x03\n\x03\x43uj\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x38\n\x07process\x18\x03 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12\n\n\x02ts\x18\x04 \x01(\x03\x12\x0b\n\x03\x64ur\x18\x05 \x01(\x03\x12:\n\x05\x66rame\x18\x06 \x03(\x0b\x32+.perfetto.protos.AndroidJankCujMetric.Frame\x12=\n\x08sf_frame\x18\n \x03(\x0b\x32+.perfetto.protos.AndroidJankCujMetric.Frame\x12\x46\n\x0f\x63ounter_metrics\x18\x07 \x01(\x0b\x32-.perfetto.protos.AndroidJankCujMetric.Metrics\x12G\n\x10timeline_metrics\x18\x08 \x01(\x0b\x32-.perfetto.protos.AndroidJankCujMetric.Metrics\x12\x44\n\rtrace_metrics\x18\t \x01(\x0b\x32-.perfetto.protos.AndroidJankCujMetric.Metrics\x12\x12\n\nlayer_name\x18\x0b \x01(\t\x1a\xbc\x01\n\x05\x46rame\x12\x14\n\x0c\x66rame_number\x18\x01 \x01(\x03\x12\r\n\x05vsync\x18\x02 \x01(\x03\x12\n\n\x02ts\x18\x03 \x01(\x03\x12\x0b\n\x03\x64ur\x18\x04 \x01(\x03\x12\x14\n\x0c\x64ur_expected\x18\x07 \x01(\x03\x12\x12\n\napp_missed\x18\x05 \x01(\x08\x12\x11\n\tsf_missed\x18\x06 \x01(\x08\x12\x1a\n\x12sf_callback_missed\x18\x08 \x01(\x08\x12\x1c\n\x14hwui_callback_missed\x18\t \x01(\x08\x1a\xcb\x03\n\x07Metrics\x12\x14\n\x0ctotal_frames\x18\x01 \x01(\x03\x12\x15\n\rmissed_frames\x18\x02 \x01(\x03\x12\x19\n\x11missed_app_frames\x18\x03 \x01(\x03\x12\x18\n\x10missed_sf_frames\x18\x04 \x01(\x03\x12$\n\x1cmissed_frames_max_successive\x18\x05 \x01(\x03\x12\x15\n\rframe_dur_max\x18\x06 \x01(\x03\x12\x15\n\rframe_dur_avg\x18\x07 \x01(\x03\x12\x15\n\rframe_dur_p50\x18\x08 \x01(\x03\x12\x15\n\rframe_dur_p90\x18\t \x01(\x03\x12\x15\n\rframe_dur_p95\x18\n \x01(\x03\x12\x15\n\rframe_dur_p99\x18\x0b \x01(\x03\x12\x18\n\x10\x66rame_dur_ms_p50\x18\x0c \x01(\x01\x12\x18\n\x10\x66rame_dur_ms_p90\x18\r \x01(\x01\x12\x18\n\x10\x66rame_dur_ms_p95\x18\x0e \x01(\x01\x12\x18\n\x10\x66rame_dur_ms_p99\x18\x0f \x01(\x01\x12!\n\x19sf_callback_missed_frames\x18\x10 \x01(\x03\x12#\n\x1bhwui_callback_missed_frames\x18\x11 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.jank_cuj_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDJANKCUJMETRIC']._serialized_start=131 + _globals['_ANDROIDJANKCUJMETRIC']._serialized_end=1337 + _globals['_ANDROIDJANKCUJMETRIC_CUJ']._serialized_start=212 + _globals['_ANDROIDJANKCUJMETRIC_CUJ']._serialized_end=684 + _globals['_ANDROIDJANKCUJMETRIC_FRAME']._serialized_start=687 + _globals['_ANDROIDJANKCUJMETRIC_FRAME']._serialized_end=875 + _globals['_ANDROIDJANKCUJMETRIC_METRICS']._serialized_start=878 + _globals['_ANDROIDJANKCUJMETRIC_METRICS']._serialized_end=1337 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/java_heap_class_stats_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/java_heap_class_stats_pb2.py new file mode 100644 index 0000000..67bee49 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/java_heap_class_stats_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/java_heap_class_stats.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/java_heap_class_stats.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import process_metadata_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_process__metadata__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n;protos/perfetto/metrics/android/java_heap_class_stats.proto\x12\x0fperfetto.protos\x1a\x36protos/perfetto/metrics/android/process_metadata.proto\"\x95\x05\n\x12JavaHeapClassStats\x12I\n\x0einstance_stats\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.JavaHeapClassStats.InstanceStats\x1a\xc3\x02\n\tTypeCount\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1b\n\x13is_libcore_or_array\x18\x0c \x01(\x08\x12\x11\n\tobj_count\x18\x02 \x01(\x03\x12\x12\n\nsize_bytes\x18\x03 \x01(\x03\x12\x19\n\x11native_size_bytes\x18\x04 \x01(\x03\x12\x1b\n\x13reachable_obj_count\x18\x05 \x01(\x03\x12\x1c\n\x14reachable_size_bytes\x18\x06 \x01(\x03\x12#\n\x1breachable_native_size_bytes\x18\x07 \x01(\x03\x12\x1b\n\x13\x64ominated_obj_count\x18\x08 \x01(\x03\x12\x1c\n\x14\x64ominated_size_bytes\x18\t \x01(\x03\x12#\n\x1b\x64ominated_native_size_bytes\x18\n \x01(\x03J\x04\x08\x0b\x10\x0c\x1aW\n\x06Sample\x12\n\n\x02ts\x18\x01 \x01(\x03\x12\x41\n\ntype_count\x18\x02 \x03(\x0b\x32-.perfetto.protos.JavaHeapClassStats.TypeCount\x1a\x94\x01\n\rInstanceStats\x12\x0c\n\x04upid\x18\x01 \x01(\r\x12\x38\n\x07process\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12;\n\x07samples\x18\x03 \x03(\x0b\x32*.perfetto.protos.JavaHeapClassStats.Sample') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.java_heap_class_stats_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_JAVAHEAPCLASSSTATS']._serialized_start=137 + _globals['_JAVAHEAPCLASSSTATS']._serialized_end=798 + _globals['_JAVAHEAPCLASSSTATS_TYPECOUNT']._serialized_start=235 + _globals['_JAVAHEAPCLASSSTATS_TYPECOUNT']._serialized_end=558 + _globals['_JAVAHEAPCLASSSTATS_SAMPLE']._serialized_start=560 + _globals['_JAVAHEAPCLASSSTATS_SAMPLE']._serialized_end=647 + _globals['_JAVAHEAPCLASSSTATS_INSTANCESTATS']._serialized_start=650 + _globals['_JAVAHEAPCLASSSTATS_INSTANCESTATS']._serialized_end=798 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/java_heap_histogram_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/java_heap_histogram_pb2.py new file mode 100644 index 0000000..80b55e2 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/java_heap_histogram_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/java_heap_histogram.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/java_heap_histogram.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import process_metadata_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_process__metadata__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/metrics/android/java_heap_histogram.proto\x12\x0fperfetto.protos\x1a\x36protos/perfetto/metrics/android/process_metadata.proto\"\x94\x04\n\x11JavaHeapHistogram\x12H\n\x0einstance_stats\x18\x01 \x03(\x0b\x32\x30.perfetto.protos.JavaHeapHistogram.InstanceStats\x1a\xc6\x01\n\tTypeCount\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x04 \x01(\t\x12\x11\n\tobj_count\x18\x02 \x01(\r\x12\x1b\n\x13reachable_obj_count\x18\x03 \x01(\r\x12\x0f\n\x07size_kb\x18\x05 \x01(\r\x12\x19\n\x11reachable_size_kb\x18\x06 \x01(\r\x12\x16\n\x0enative_size_kb\x18\x07 \x01(\r\x12 \n\x18reachable_native_size_kb\x18\x08 \x01(\r\x1aV\n\x06Sample\x12\n\n\x02ts\x18\x01 \x01(\x03\x12@\n\ntype_count\x18\x02 \x03(\x0b\x32,.perfetto.protos.JavaHeapHistogram.TypeCount\x1a\x93\x01\n\rInstanceStats\x12\x0c\n\x04upid\x18\x01 \x01(\r\x12\x38\n\x07process\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12:\n\x07samples\x18\x03 \x03(\x0b\x32).perfetto.protos.JavaHeapHistogram.Sample') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.java_heap_histogram_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_JAVAHEAPHISTOGRAM']._serialized_start=135 + _globals['_JAVAHEAPHISTOGRAM']._serialized_end=667 + _globals['_JAVAHEAPHISTOGRAM_TYPECOUNT']._serialized_start=231 + _globals['_JAVAHEAPHISTOGRAM_TYPECOUNT']._serialized_end=429 + _globals['_JAVAHEAPHISTOGRAM_SAMPLE']._serialized_start=431 + _globals['_JAVAHEAPHISTOGRAM_SAMPLE']._serialized_end=517 + _globals['_JAVAHEAPHISTOGRAM_INSTANCESTATS']._serialized_start=520 + _globals['_JAVAHEAPHISTOGRAM_INSTANCESTATS']._serialized_end=667 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/java_heap_stats_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/java_heap_stats_pb2.py new file mode 100644 index 0000000..6515cc5 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/java_heap_stats_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/java_heap_stats.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/java_heap_stats.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import process_metadata_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_process__metadata__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5protos/perfetto/metrics/android/java_heap_stats.proto\x12\x0fperfetto.protos\x1a\x36protos/perfetto/metrics/android/process_metadata.proto\"\xed\x04\n\rJavaHeapStats\x12\x44\n\x0einstance_stats\x18\x01 \x03(\x0b\x32,.perfetto.protos.JavaHeapStats.InstanceStats\x1a\x44\n\tHeapRoots\x12\x11\n\troot_type\x18\x01 \x01(\t\x12\x11\n\ttype_name\x18\x02 \x01(\t\x12\x11\n\tobj_count\x18\x03 \x01(\x03\x1a\xbd\x02\n\x06Sample\x12\n\n\x02ts\x18\x01 \x01(\x03\x12\x11\n\theap_size\x18\x02 \x01(\x03\x12\x18\n\x10heap_native_size\x18\x08 \x01(\x03\x12\x11\n\tobj_count\x18\x04 \x01(\x03\x12\x1b\n\x13reachable_heap_size\x18\x03 \x01(\x03\x12\"\n\x1areachable_heap_native_size\x18\t \x01(\x03\x12\x1b\n\x13reachable_obj_count\x18\x05 \x01(\x03\x12\x1e\n\x16\x61non_rss_and_swap_size\x18\x06 \x01(\x03\x12\x37\n\x05roots\x18\x07 \x03(\x0b\x32(.perfetto.protos.JavaHeapStats.HeapRoots\x12\x15\n\room_score_adj\x18\n \x01(\x03\x12\x19\n\x11process_uptime_ms\x18\x0b \x01(\x03\x1a\x8f\x01\n\rInstanceStats\x12\x0c\n\x04upid\x18\x01 \x01(\r\x12\x38\n\x07process\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12\x36\n\x07samples\x18\x03 \x03(\x0b\x32%.perfetto.protos.JavaHeapStats.Sample') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.java_heap_stats_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_JAVAHEAPSTATS']._serialized_start=131 + _globals['_JAVAHEAPSTATS']._serialized_end=752 + _globals['_JAVAHEAPSTATS_HEAPROOTS']._serialized_start=218 + _globals['_JAVAHEAPSTATS_HEAPROOTS']._serialized_end=286 + _globals['_JAVAHEAPSTATS_SAMPLE']._serialized_start=289 + _globals['_JAVAHEAPSTATS_SAMPLE']._serialized_end=606 + _globals['_JAVAHEAPSTATS_INSTANCESTATS']._serialized_start=609 + _globals['_JAVAHEAPSTATS_INSTANCESTATS']._serialized_end=752 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/lmk_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/lmk_metric_pb2.py new file mode 100644 index 0000000..994a0bd --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/lmk_metric_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/lmk_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/lmk_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/metrics/android/lmk_metric.proto\x12\x0fperfetto.protos\"\xb9\x01\n\x10\x41ndroidLmkMetric\x12\x13\n\x0btotal_count\x18\x01 \x01(\x05\x12\x42\n\x0c\x62y_oom_score\x18\x02 \x03(\x0b\x32,.perfetto.protos.AndroidLmkMetric.ByOomScore\x12\x18\n\x10oom_victim_count\x18\x03 \x01(\x05\x1a\x32\n\nByOomScore\x12\x15\n\room_score_adj\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x05') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.lmk_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDLMKMETRIC']._serialized_start=70 + _globals['_ANDROIDLMKMETRIC']._serialized_end=255 + _globals['_ANDROIDLMKMETRIC_BYOOMSCORE']._serialized_start=205 + _globals['_ANDROIDLMKMETRIC_BYOOMSCORE']._serialized_end=255 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/lmk_reason_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/lmk_reason_metric_pb2.py new file mode 100644 index 0000000..20ec3b6 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/lmk_reason_metric_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/lmk_reason_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/lmk_reason_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import process_metadata_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_process__metadata__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7protos/perfetto/metrics/android/lmk_reason_metric.proto\x12\x0fperfetto.protos\x1a\x36protos/perfetto/metrics/android/process_metadata.proto\"\xb5\x03\n\x16\x41ndroidLmkReasonMetric\x12\x39\n\x04lmks\x18\x01 \x03(\x0b\x32+.perfetto.protos.AndroidLmkReasonMetric.Lmk\x1a\xc5\x01\n\x07Process\x12\x38\n\x07process\x18\x01 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12\x15\n\room_score_adj\x18\x02 \x01(\x05\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x16\n\x0e\x66ile_rss_bytes\x18\x04 \x01(\x03\x12\x16\n\x0e\x61non_rss_bytes\x18\x05 \x01(\x03\x12\x17\n\x0fshmem_rss_bytes\x18\x06 \x01(\x03\x12\x12\n\nswap_bytes\x18\x07 \x01(\x03\x1a\x97\x01\n\x03Lmk\x12\x15\n\room_score_adj\x18\x01 \x01(\x05\x12\x17\n\x0fion_heaps_bytes\x18\x04 \x01(\x03\x12\x1c\n\x14system_ion_heap_size\x18\x02 \x01(\x03\x12\x42\n\tprocesses\x18\x03 \x03(\x0b\x32/.perfetto.protos.AndroidLmkReasonMetric.Process') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.lmk_reason_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDLMKREASONMETRIC']._serialized_start=133 + _globals['_ANDROIDLMKREASONMETRIC']._serialized_end=570 + _globals['_ANDROIDLMKREASONMETRIC_PROCESS']._serialized_start=219 + _globals['_ANDROIDLMKREASONMETRIC_PROCESS']._serialized_end=416 + _globals['_ANDROIDLMKREASONMETRIC_LMK']._serialized_start=419 + _globals['_ANDROIDLMKREASONMETRIC_LMK']._serialized_end=570 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/mem_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/mem_metric_pb2.py new file mode 100644 index 0000000..63f0c67 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/mem_metric_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/mem_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/mem_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/metrics/android/mem_metric.proto\x12\x0fperfetto.protos\"\xc6\x06\n\x13\x41ndroidMemoryMetric\x12L\n\x0fprocess_metrics\x18\x01 \x03(\x0b\x32\x33.perfetto.protos.AndroidMemoryMetric.ProcessMetrics\x1a\xce\x01\n\x0eProcessMetrics\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12R\n\x0etotal_counters\x18\x02 \x01(\x0b\x32:.perfetto.protos.AndroidMemoryMetric.ProcessMemoryCounters\x12R\n\x12priority_breakdown\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.AndroidMemoryMetric.PriorityBreakdown\x1as\n\x11PriorityBreakdown\x12\x10\n\x08priority\x18\x01 \x01(\t\x12L\n\x08\x63ounters\x18\x02 \x01(\x0b\x32:.perfetto.protos.AndroidMemoryMetric.ProcessMemoryCounters\x1a\xd9\x02\n\x15ProcessMemoryCounters\x12>\n\x08\x61non_rss\x18\x01 \x01(\x0b\x32,.perfetto.protos.AndroidMemoryMetric.Counter\x12>\n\x08\x66ile_rss\x18\x02 \x01(\x0b\x32,.perfetto.protos.AndroidMemoryMetric.Counter\x12:\n\x04swap\x18\x03 \x01(\x0b\x32,.perfetto.protos.AndroidMemoryMetric.Counter\x12\x43\n\ranon_and_swap\x18\x04 \x01(\x0b\x32,.perfetto.protos.AndroidMemoryMetric.Counter\x12?\n\tjava_heap\x18\x05 \x01(\x0b\x32,.perfetto.protos.AndroidMemoryMetric.Counter\x1a?\n\x07\x43ounter\x12\x0b\n\x03min\x18\x01 \x01(\x01\x12\x0b\n\x03max\x18\x02 \x01(\x01\x12\x0b\n\x03\x61vg\x18\x03 \x01(\x01\x12\r\n\x05\x64\x65lta\x18\x04 \x01(\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.mem_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDMEMORYMETRIC']._serialized_start=70 + _globals['_ANDROIDMEMORYMETRIC']._serialized_end=908 + _globals['_ANDROIDMEMORYMETRIC_PROCESSMETRICS']._serialized_start=172 + _globals['_ANDROIDMEMORYMETRIC_PROCESSMETRICS']._serialized_end=378 + _globals['_ANDROIDMEMORYMETRIC_PRIORITYBREAKDOWN']._serialized_start=380 + _globals['_ANDROIDMEMORYMETRIC_PRIORITYBREAKDOWN']._serialized_end=495 + _globals['_ANDROIDMEMORYMETRIC_PROCESSMEMORYCOUNTERS']._serialized_start=498 + _globals['_ANDROIDMEMORYMETRIC_PROCESSMEMORYCOUNTERS']._serialized_end=843 + _globals['_ANDROIDMEMORYMETRIC_COUNTER']._serialized_start=845 + _globals['_ANDROIDMEMORYMETRIC_COUNTER']._serialized_end=908 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/mem_unagg_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/mem_unagg_metric_pb2.py new file mode 100644 index 0000000..06e2061 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/mem_unagg_metric_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/mem_unagg_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/mem_unagg_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6protos/perfetto/metrics/android/mem_unagg_metric.proto\x12\x0fperfetto.protos\"\xf2\x04\n\x1f\x41ndroidMemoryUnaggregatedMetric\x12V\n\x0eprocess_values\x18\x01 \x03(\x0b\x32>.perfetto.protos.AndroidMemoryUnaggregatedMetric.ProcessValues\x1a\x7f\n\rProcessValues\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12X\n\nmem_values\x18\x02 \x01(\x0b\x32\x44.perfetto.protos.AndroidMemoryUnaggregatedMetric.ProcessMemoryValues\x1a\xbe\x02\n\x13ProcessMemoryValues\x12H\n\x08\x61non_rss\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.AndroidMemoryUnaggregatedMetric.Value\x12H\n\x08\x66ile_rss\x18\x02 \x03(\x0b\x32\x36.perfetto.protos.AndroidMemoryUnaggregatedMetric.Value\x12\x44\n\x04swap\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.AndroidMemoryUnaggregatedMetric.Value\x12M\n\ranon_and_swap\x18\x04 \x03(\x0b\x32\x36.perfetto.protos.AndroidMemoryUnaggregatedMetric.Value\x1a\x35\n\x05Value\x12\n\n\x02ts\x18\x01 \x01(\x03\x12\x11\n\toom_score\x18\x02 \x01(\x05\x12\r\n\x05value\x18\x03 \x01(\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.mem_unagg_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC']._serialized_start=76 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC']._serialized_end=702 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC_PROCESSVALUES']._serialized_start=199 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC_PROCESSVALUES']._serialized_end=326 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC_PROCESSMEMORYVALUES']._serialized_start=329 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC_PROCESSMEMORYVALUES']._serialized_end=647 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC_VALUE']._serialized_start=649 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC_VALUE']._serialized_end=702 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/monitor_contention_agg_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/monitor_contention_agg_metric_pb2.py new file mode 100644 index 0000000..ca2221b --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/monitor_contention_agg_metric_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/monitor_contention_agg_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/monitor_contention_agg_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nCprotos/perfetto/metrics/android/monitor_contention_agg_metric.proto\x12\x0fperfetto.protos\"\xb4\x02\n!AndroidMonitorContentionAggMetric\x12\x62\n\x13process_aggregation\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.AndroidMonitorContentionAggMetric.ProcessAggregation\x1a\xaa\x01\n\x12ProcessAggregation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1e\n\x16total_contention_count\x18\x02 \x01(\x03\x12\x1c\n\x14total_contention_dur\x18\x03 \x01(\x03\x12$\n\x1cmain_thread_contention_count\x18\x04 \x01(\x03\x12\"\n\x1amain_thread_contention_dur\x18\x05 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.monitor_contention_agg_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDMONITORCONTENTIONAGGMETRIC']._serialized_start=89 + _globals['_ANDROIDMONITORCONTENTIONAGGMETRIC']._serialized_end=397 + _globals['_ANDROIDMONITORCONTENTIONAGGMETRIC_PROCESSAGGREGATION']._serialized_start=227 + _globals['_ANDROIDMONITORCONTENTIONAGGMETRIC_PROCESSAGGREGATION']._serialized_end=397 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/monitor_contention_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/monitor_contention_metric_pb2.py new file mode 100644 index 0000000..44cef7b --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/monitor_contention_metric_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/monitor_contention_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/monitor_contention_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?protos/perfetto/metrics/android/monitor_contention_metric.proto\x12\x0fperfetto.protos\"\xb1\x08\n\x1e\x41ndroidMonitorContentionMetric\x12\x42\n\x04node\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidMonitorContentionMetric.Node\x1a\xf2\x05\n\x04Node\x12\x16\n\x0enode_parent_id\x18\x01 \x01(\x03\x12\x15\n\rnode_child_id\x18\x18 \x01(\x03\x12\x0f\n\x07node_id\x18\x02 \x01(\x03\x12\n\n\x02ts\x18\x03 \x01(\x03\x12\x0b\n\x03\x64ur\x18\x04 \x01(\x03\x12\x15\n\rmonotonic_dur\x18\x19 \x01(\x03\x12\x14\n\x0cprocess_name\x18\x0e \x01(\t\x12\x0b\n\x03pid\x18\x17 \x01(\r\x12\x14\n\x0cwaiter_count\x18\x0b \x01(\r\x12[\n\rthread_states\x18\x13 \x03(\x0b\x32\x44.perfetto.protos.AndroidMonitorContentionMetric.ThreadStateBreakdown\x12\x63\n\x11\x62locked_functions\x18\x14 \x03(\x0b\x32H.perfetto.protos.AndroidMonitorContentionMetric.BlockedFunctionBreakdown\x12\x17\n\x0f\x62locking_method\x18\x05 \x01(\t\x12\x1d\n\x15short_blocking_method\x18\x07 \x01(\t\x12\x14\n\x0c\x62locking_src\x18\t \x01(\t\x12\x1c\n\x14\x62locking_thread_name\x18\r \x01(\t\x12\x1f\n\x17is_blocking_thread_main\x18\x10 \x01(\x08\x12\x1b\n\x13\x62locking_thread_tid\x18\x16 \x01(\r\x12\x16\n\x0e\x62locked_method\x18\x06 \x01(\t\x12\x1c\n\x14short_blocked_method\x18\x08 \x01(\t\x12\x13\n\x0b\x62locked_src\x18\n \x01(\t\x12\x1b\n\x13\x62locked_thread_name\x18\x0c \x01(\t\x12\x1e\n\x16is_blocked_thread_main\x18\x0f \x01(\x08\x12\x1a\n\x12\x62locked_thread_tid\x18\x15 \x01(\r\x12\x17\n\x0f\x62inder_reply_ts\x18\x11 \x01(\x03\x12\x18\n\x10\x62inder_reply_tid\x18\x12 \x01(\r\x1a\x62\n\x14ThreadStateBreakdown\x12\x14\n\x0cthread_state\x18\x01 \x01(\t\x12\x18\n\x10thread_state_dur\x18\x02 \x01(\x03\x12\x1a\n\x12thread_state_count\x18\x03 \x01(\x03\x1ar\n\x18\x42lockedFunctionBreakdown\x12\x18\n\x10\x62locked_function\x18\x01 \x01(\t\x12\x1c\n\x14\x62locked_function_dur\x18\x02 \x01(\x03\x12\x1e\n\x16\x62locked_function_count\x18\x03 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.monitor_contention_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDMONITORCONTENTIONMETRIC']._serialized_start=85 + _globals['_ANDROIDMONITORCONTENTIONMETRIC']._serialized_end=1158 + _globals['_ANDROIDMONITORCONTENTIONMETRIC_NODE']._serialized_start=188 + _globals['_ANDROIDMONITORCONTENTIONMETRIC_NODE']._serialized_end=942 + _globals['_ANDROIDMONITORCONTENTIONMETRIC_THREADSTATEBREAKDOWN']._serialized_start=944 + _globals['_ANDROIDMONITORCONTENTIONMETRIC_THREADSTATEBREAKDOWN']._serialized_end=1042 + _globals['_ANDROIDMONITORCONTENTIONMETRIC_BLOCKEDFUNCTIONBREAKDOWN']._serialized_start=1044 + _globals['_ANDROIDMONITORCONTENTIONMETRIC_BLOCKEDFUNCTIONBREAKDOWN']._serialized_end=1158 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/multiuser_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/multiuser_metric_pb2.py new file mode 100644 index 0000000..f32a9be --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/multiuser_metric_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/multiuser_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/multiuser_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6protos/perfetto/metrics/android/multiuser_metric.proto\x12\x0fperfetto.protos\"\xc6\x02\n\x16\x41ndroidMultiuserMetric\x12\x46\n\x0buser_switch\x18\x01 \x01(\x0b\x32\x31.perfetto.protos.AndroidMultiuserMetric.EventData\x1a\xe3\x01\n\tEventData\x12\x13\n\x0b\x64uration_ms\x18\x01 \x01(\x05\x12M\n\tcpu_usage\x18\x02 \x03(\x0b\x32:.perfetto.protos.AndroidMultiuserMetric.EventData.CpuUsage\x1ar\n\x08\x43puUsage\x12\x0f\n\x07user_id\x18\x01 \x01(\x05\x12\x14\n\x0cprocess_name\x18\x02 \x01(\t\x12\x13\n\x0b\x63pu_mcycles\x18\x03 \x01(\x05\x12\x16\n\x0e\x63pu_percentage\x18\x04 \x01(\x02\x12\x12\n\nidentifier\x18\x05 \x01(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.multiuser_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDMULTIUSERMETRIC']._serialized_start=76 + _globals['_ANDROIDMULTIUSERMETRIC']._serialized_end=402 + _globals['_ANDROIDMULTIUSERMETRIC_EVENTDATA']._serialized_start=175 + _globals['_ANDROIDMULTIUSERMETRIC_EVENTDATA']._serialized_end=402 + _globals['_ANDROIDMULTIUSERMETRIC_EVENTDATA_CPUUSAGE']._serialized_start=288 + _globals['_ANDROIDMULTIUSERMETRIC_EVENTDATA_CPUUSAGE']._serialized_end=402 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/network_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/network_metric_pb2.py new file mode 100644 index 0000000..ed0b6cd --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/network_metric_pb2.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/network_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/network_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4protos/perfetto/metrics/android/network_metric.proto\x12\x0fperfetto.protos\"\xf3\x10\n\x14\x41ndroidNetworkMetric\x12\x44\n\x0bnet_devices\x18\x01 \x03(\x0b\x32/.perfetto.protos.AndroidNetworkMetric.NetDevice\x12H\n\rnet_rx_action\x18\x02 \x01(\x0b\x32\x31.perfetto.protos.AndroidNetworkMetric.NetRxAction\x12\x1b\n\x13retransmission_rate\x18\x03 \x01(\x01\x12\x16\n\x0ekfree_skb_rate\x18\x04 \x01(\x01\x12H\n\rnet_tx_action\x18\x05 \x01(\x0b\x32\x31.perfetto.protos.AndroidNetworkMetric.NetTxAction\x12\x43\n\nipi_action\x18\x06 \x01(\x0b\x32/.perfetto.protos.AndroidNetworkMetric.IpiAction\x1a\xa3\x01\n\x0fPacketStatistic\x12\x0f\n\x07packets\x18\x01 \x01(\x03\x12\r\n\x05\x62ytes\x18\x02 \x01(\x03\x12!\n\x19\x66irst_packet_timestamp_ns\x18\x03 \x01(\x03\x12 \n\x18last_packet_timestamp_ns\x18\x04 \x01(\x03\x12\x13\n\x0binterval_ns\x18\x05 \x01(\x03\x12\x16\n\x0e\x64\x61ta_rate_kbps\x18\x06 \x01(\x01\x1ar\n\x13\x43orePacketStatistic\x12\n\n\x02id\x18\x01 \x01(\r\x12O\n\x10packet_statistic\x18\x02 \x01(\x0b\x32\x35.perfetto.protos.AndroidNetworkMetric.PacketStatistic\x1a\xb2\x01\n\x02Rx\x12\x44\n\x05total\x18\x01 \x01(\x0b\x32\x35.perfetto.protos.AndroidNetworkMetric.PacketStatistic\x12G\n\x04\x63ore\x18\x02 \x03(\x0b\x32\x39.perfetto.protos.AndroidNetworkMetric.CorePacketStatistic\x12\x1d\n\x15gro_aggregation_ratio\x18\x03 \x01(\t\x1a\x93\x01\n\x02Tx\x12\x44\n\x05total\x18\x01 \x01(\x0b\x32\x35.perfetto.protos.AndroidNetworkMetric.PacketStatistic\x12G\n\x04\x63ore\x18\x02 \x03(\x0b\x32\x39.perfetto.protos.AndroidNetworkMetric.CorePacketStatistic\x1a\x85\x01\n\tNetDevice\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x02rx\x18\x02 \x01(\x0b\x32(.perfetto.protos.AndroidNetworkMetric.Rx\x12\x34\n\x02tx\x18\x03 \x01(\x0b\x32(.perfetto.protos.AndroidNetworkMetric.Tx\x1ax\n\x14NetRxActionStatistic\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12\x12\n\nruntime_ms\x18\x02 \x01(\x01\x12\x16\n\x0e\x61vg_runtime_ms\x18\x03 \x01(\x01\x12\x0f\n\x07mcycles\x18\x04 \x01(\x03\x12\x14\n\x0c\x61vg_freq_khz\x18\x05 \x01(\x03\x1ax\n\x14NetTxActionStatistic\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12\x12\n\nruntime_ms\x18\x02 \x01(\x01\x12\x16\n\x0e\x61vg_runtime_ms\x18\x03 \x01(\x01\x12\x0f\n\x07mcycles\x18\x04 \x01(\x03\x12\x14\n\x0c\x61vg_freq_khz\x18\x05 \x01(\x03\x1aO\n\x12IpiActionStatistic\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12\x12\n\nruntime_ms\x18\x02 \x01(\x01\x12\x16\n\x0e\x61vg_runtime_ms\x18\x03 \x01(\x01\x1a\x83\x01\n\x18\x43oreNetRxActionStatistic\x12\n\n\x02id\x18\x01 \x01(\r\x12[\n\x17net_rx_action_statistic\x18\x02 \x01(\x0b\x32:.perfetto.protos.AndroidNetworkMetric.NetRxActionStatistic\x1a\x83\x01\n\x18\x43oreNetTxActionStatistic\x12\n\n\x02id\x18\x01 \x01(\r\x12[\n\x17net_tx_action_statistic\x18\x02 \x01(\x0b\x32:.perfetto.protos.AndroidNetworkMetric.NetTxActionStatistic\x1a\xc9\x01\n\x0bNetRxAction\x12I\n\x05total\x18\x01 \x01(\x0b\x32:.perfetto.protos.AndroidNetworkMetric.NetRxActionStatistic\x12L\n\x04\x63ore\x18\x02 \x03(\x0b\x32>.perfetto.protos.AndroidNetworkMetric.CoreNetRxActionStatistic\x12!\n\x19\x61vg_interstack_latency_ms\x18\x03 \x01(\x01\x1a\xa6\x01\n\x0bNetTxAction\x12I\n\x05total\x18\x01 \x01(\x0b\x32:.perfetto.protos.AndroidNetworkMetric.NetTxActionStatistic\x12L\n\x04\x63ore\x18\x02 \x03(\x0b\x32>.perfetto.protos.AndroidNetworkMetric.CoreNetTxActionStatistic\x1aT\n\tIpiAction\x12G\n\x05total\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.AndroidNetworkMetric.IpiActionStatistic') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.network_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDNETWORKMETRIC']._serialized_start=74 + _globals['_ANDROIDNETWORKMETRIC']._serialized_end=2237 + _globals['_ANDROIDNETWORKMETRIC_PACKETSTATISTIC']._serialized_start=439 + _globals['_ANDROIDNETWORKMETRIC_PACKETSTATISTIC']._serialized_end=602 + _globals['_ANDROIDNETWORKMETRIC_COREPACKETSTATISTIC']._serialized_start=604 + _globals['_ANDROIDNETWORKMETRIC_COREPACKETSTATISTIC']._serialized_end=718 + _globals['_ANDROIDNETWORKMETRIC_RX']._serialized_start=721 + _globals['_ANDROIDNETWORKMETRIC_RX']._serialized_end=899 + _globals['_ANDROIDNETWORKMETRIC_TX']._serialized_start=902 + _globals['_ANDROIDNETWORKMETRIC_TX']._serialized_end=1049 + _globals['_ANDROIDNETWORKMETRIC_NETDEVICE']._serialized_start=1052 + _globals['_ANDROIDNETWORKMETRIC_NETDEVICE']._serialized_end=1185 + _globals['_ANDROIDNETWORKMETRIC_NETRXACTIONSTATISTIC']._serialized_start=1187 + _globals['_ANDROIDNETWORKMETRIC_NETRXACTIONSTATISTIC']._serialized_end=1307 + _globals['_ANDROIDNETWORKMETRIC_NETTXACTIONSTATISTIC']._serialized_start=1309 + _globals['_ANDROIDNETWORKMETRIC_NETTXACTIONSTATISTIC']._serialized_end=1429 + _globals['_ANDROIDNETWORKMETRIC_IPIACTIONSTATISTIC']._serialized_start=1431 + _globals['_ANDROIDNETWORKMETRIC_IPIACTIONSTATISTIC']._serialized_end=1510 + _globals['_ANDROIDNETWORKMETRIC_CORENETRXACTIONSTATISTIC']._serialized_start=1513 + _globals['_ANDROIDNETWORKMETRIC_CORENETRXACTIONSTATISTIC']._serialized_end=1644 + _globals['_ANDROIDNETWORKMETRIC_CORENETTXACTIONSTATISTIC']._serialized_start=1647 + _globals['_ANDROIDNETWORKMETRIC_CORENETTXACTIONSTATISTIC']._serialized_end=1778 + _globals['_ANDROIDNETWORKMETRIC_NETRXACTION']._serialized_start=1781 + _globals['_ANDROIDNETWORKMETRIC_NETRXACTION']._serialized_end=1982 + _globals['_ANDROIDNETWORKMETRIC_NETTXACTION']._serialized_start=1985 + _globals['_ANDROIDNETWORKMETRIC_NETTXACTION']._serialized_end=2151 + _globals['_ANDROIDNETWORKMETRIC_IPIACTION']._serialized_start=2153 + _globals['_ANDROIDNETWORKMETRIC_IPIACTION']._serialized_end=2237 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/other_traces_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/other_traces_pb2.py new file mode 100644 index 0000000..a382984 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/other_traces_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/other_traces.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/other_traces.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2protos/perfetto/metrics/android/other_traces.proto\x12\x0fperfetto.protos\"9\n\x18\x41ndroidOtherTracesMetric\x12\x1d\n\x15\x66inalized_traces_uuid\x18\x01 \x03(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.other_traces_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDOTHERTRACESMETRIC']._serialized_start=71 + _globals['_ANDROIDOTHERTRACESMETRIC']._serialized_end=128 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/package_list_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/package_list_pb2.py new file mode 100644 index 0000000..f867101 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/package_list_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/package_list.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/package_list.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2protos/perfetto/metrics/android/package_list.proto\x12\x0fperfetto.protos\"\x97\x01\n\x12\x41ndroidPackageList\x12=\n\x08packages\x18\x01 \x03(\x0b\x32+.perfetto.protos.AndroidPackageList.Package\x1a\x42\n\x07Package\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x03\x12\x14\n\x0cversion_code\x18\x03 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.package_list_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDPACKAGELIST']._serialized_start=72 + _globals['_ANDROIDPACKAGELIST']._serialized_end=223 + _globals['_ANDROIDPACKAGELIST_PACKAGE']._serialized_start=157 + _globals['_ANDROIDPACKAGELIST_PACKAGE']._serialized_end=223 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/powrails_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/powrails_metric_pb2.py new file mode 100644 index 0000000..1712620 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/powrails_metric_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/powrails_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/powrails_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5protos/perfetto/metrics/android/powrails_metric.proto\x12\x0fperfetto.protos\"\xab\x02\n\x11\x41ndroidPowerRails\x12\x42\n\x0bpower_rails\x18\x01 \x03(\x0b\x32-.perfetto.protos.AndroidPowerRails.PowerRails\x12\x1f\n\x17\x61vg_total_used_power_mw\x18\x02 \x01(\x01\x1a\x36\n\nEnergyData\x12\x14\n\x0ctimestamp_ms\x18\x01 \x01(\x03\x12\x12\n\nenergy_uws\x18\x02 \x01(\x01\x1ay\n\nPowerRails\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x42\n\x0b\x65nergy_data\x18\x02 \x03(\x0b\x32-.perfetto.protos.AndroidPowerRails.EnergyData\x12\x19\n\x11\x61vg_used_power_mw\x18\x03 \x01(\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.powrails_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDPOWERRAILS']._serialized_start=75 + _globals['_ANDROIDPOWERRAILS']._serialized_end=374 + _globals['_ANDROIDPOWERRAILS_ENERGYDATA']._serialized_start=197 + _globals['_ANDROIDPOWERRAILS_ENERGYDATA']._serialized_end=251 + _globals['_ANDROIDPOWERRAILS_POWERRAILS']._serialized_start=253 + _globals['_ANDROIDPOWERRAILS_POWERRAILS']._serialized_end=374 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/process_metadata_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/process_metadata_pb2.py new file mode 100644 index 0000000..165c571 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/process_metadata_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/process_metadata.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/process_metadata.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6protos/perfetto/metrics/android/process_metadata.proto\x12\x0fperfetto.protos\"\xef\x01\n\x16\x41ndroidProcessMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x03\x12@\n\x07package\x18\x07 \x01(\x0b\x32/.perfetto.protos.AndroidProcessMetadata.Package\x12\x0b\n\x03pid\x18\t \x01(\x03\x1aM\n\x07Package\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x18\n\x10\x61pk_version_code\x18\x02 \x01(\x03\x12\x12\n\ndebuggable\x18\x03 \x01(\x08J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x08\x10\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.process_metadata_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDPROCESSMETADATA']._serialized_start=76 + _globals['_ANDROIDPROCESSMETADATA']._serialized_end=315 + _globals['_ANDROIDPROCESSMETADATA_PACKAGE']._serialized_start=208 + _globals['_ANDROIDPROCESSMETADATA_PACKAGE']._serialized_end=285 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/profiler_smaps_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/profiler_smaps_pb2.py new file mode 100644 index 0000000..b36d0fd --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/profiler_smaps_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/profiler_smaps.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/profiler_smaps.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import process_metadata_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_process__metadata__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4protos/perfetto/metrics/android/profiler_smaps.proto\x12\x0fperfetto.protos\x1a\x36protos/perfetto/metrics/android/process_metadata.proto\"\x9f\x02\n\rProfilerSmaps\x12\x39\n\x08instance\x18\x01 \x03(\x0b\x32\'.perfetto.protos.ProfilerSmaps.Instance\x1aS\n\x07Mapping\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07size_kb\x18\x02 \x01(\x05\x12\x18\n\x10private_dirty_kb\x18\x03 \x01(\x05\x12\x0f\n\x07swap_kb\x18\x04 \x01(\x05\x1a~\n\x08Instance\x12\x38\n\x07process\x18\x01 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12\x38\n\x08mappings\x18\x02 \x03(\x0b\x32&.perfetto.protos.ProfilerSmaps.Mapping') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.profiler_smaps_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PROFILERSMAPS']._serialized_start=130 + _globals['_PROFILERSMAPS']._serialized_end=417 + _globals['_PROFILERSMAPS_MAPPING']._serialized_start=206 + _globals['_PROFILERSMAPS_MAPPING']._serialized_end=289 + _globals['_PROFILERSMAPS_INSTANCE']._serialized_start=291 + _globals['_PROFILERSMAPS_INSTANCE']._serialized_end=417 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/rt_runtime_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/rt_runtime_metric_pb2.py new file mode 100644 index 0000000..0df3a0b --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/rt_runtime_metric_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/rt_runtime_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/rt_runtime_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7protos/perfetto/metrics/android/rt_runtime_metric.proto\x12\x0fperfetto.protos\"\xc4\x01\n\x16\x41ndroidRtRuntimeMetric\x12\x13\n\x0bmax_runtime\x18\x01 \x01(\x03\x12\x16\n\x0eover_5ms_count\x18\x02 \x01(\x03\x12J\n\x11longest_rt_slices\x18\x03 \x03(\x0b\x32/.perfetto.protos.AndroidRtRuntimeMetric.RtSlice\x1a\x31\n\x07RtSlice\x12\r\n\x05tname\x18\x01 \x01(\t\x12\n\n\x02ts\x18\x02 \x01(\x03\x12\x0b\n\x03\x64ur\x18\x03 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.rt_runtime_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDRTRUNTIMEMETRIC']._serialized_start=77 + _globals['_ANDROIDRTRUNTIMEMETRIC']._serialized_end=273 + _globals['_ANDROIDRTRUNTIMEMETRIC_RTSLICE']._serialized_start=224 + _globals['_ANDROIDRTRUNTIMEMETRIC_RTSLICE']._serialized_end=273 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/simpleperf_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/simpleperf_pb2.py new file mode 100644 index 0000000..cf00ddb --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/simpleperf_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/simpleperf.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/simpleperf.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/metrics/android/simpleperf.proto\x12\x0fperfetto.protos\"\xc8\x03\n\x17\x41ndroidSimpleperfMetric\x12\x14\n\x0curgent_ratio\x18\x01 \x01(\x01\x12H\n\x06\x65vents\x18\x02 \x03(\x0b\x32\x38.perfetto.protos.AndroidSimpleperfMetric.PerfEventMetric\x1a\xcc\x02\n\x0fPerfEventMetric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12S\n\tprocesses\x18\x02 \x03(\x0b\x32@.perfetto.protos.AndroidSimpleperfMetric.PerfEventMetric.Process\x12\r\n\x05total\x18\x03 \x01(\x01\x1a?\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03\x63pu\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x01\x1a\x85\x01\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12P\n\x07threads\x18\x03 \x03(\x0b\x32?.perfetto.protos.AndroidSimpleperfMetric.PerfEventMetric.Thread\x12\r\n\x05total\x18\x04 \x01(\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.simpleperf_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDSIMPLEPERFMETRIC']._serialized_start=70 + _globals['_ANDROIDSIMPLEPERFMETRIC']._serialized_end=526 + _globals['_ANDROIDSIMPLEPERFMETRIC_PERFEVENTMETRIC']._serialized_start=194 + _globals['_ANDROIDSIMPLEPERFMETRIC_PERFEVENTMETRIC']._serialized_end=526 + _globals['_ANDROIDSIMPLEPERFMETRIC_PERFEVENTMETRIC_THREAD']._serialized_start=327 + _globals['_ANDROIDSIMPLEPERFMETRIC_PERFEVENTMETRIC_THREAD']._serialized_end=390 + _globals['_ANDROIDSIMPLEPERFMETRIC_PERFEVENTMETRIC_PROCESS']._serialized_start=393 + _globals['_ANDROIDSIMPLEPERFMETRIC_PERFEVENTMETRIC_PROCESS']._serialized_end=526 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/startup_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/startup_metric_pb2.py new file mode 100644 index 0000000..6648ea8 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/startup_metric_pb2.py @@ -0,0 +1,83 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/startup_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/startup_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import process_metadata_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_process__metadata__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4protos/perfetto/metrics/android/startup_metric.proto\x12\x0fperfetto.protos\x1a\x36protos/perfetto/metrics/android/process_metadata.proto\"\xb6\x35\n\x14\x41ndroidStartupMetric\x12>\n\x07startup\x18\x01 \x03(\x0b\x32-.perfetto.protos.AndroidStartupMetric.Startup\x1a\xe5\x01\n\x12TaskStateBreakdown\x12\x16\n\x0erunning_dur_ns\x18\x01 \x01(\x03\x12\x17\n\x0frunnable_dur_ns\x18\x02 \x01(\x03\x12$\n\x1cuninterruptible_sleep_dur_ns\x18\x03 \x01(\x03\x12\"\n\x1ainterruptible_sleep_dur_ns\x18\x04 \x01(\x03\x12\'\n\x1funinterruptible_io_sleep_dur_ns\x18\x05 \x01(\x03\x12+\n#uninterruptible_non_io_sleep_dur_ns\x18\x06 \x01(\x03\x1aQ\n\x11McyclesByCoreType\x12\x0e\n\x06little\x18\x01 \x01(\x03\x12\x0b\n\x03\x62ig\x18\x02 \x01(\x03\x12\x0e\n\x06\x62igger\x18\x03 \x01(\x03\x12\x0f\n\x07unknown\x18\x04 \x01(\x03\x1a\'\n\x05Slice\x12\x0e\n\x06\x64ur_ns\x18\x01 \x01(\x03\x12\x0e\n\x06\x64ur_ms\x18\x02 \x01(\x01\x1a\x9f\x11\n\x0cToFirstFrame\x12\x0e\n\x06\x64ur_ns\x18\x01 \x01(\x03\x12\x0e\n\x06\x64ur_ms\x18\x11 \x01(\x01\x12[\n\x19main_thread_by_task_state\x18\x02 \x01(\x0b\x32\x38.perfetto.protos.AndroidStartupMetric.TaskStateBreakdown\x12U\n\x14mcycles_by_core_type\x18\x1a \x01(\x0b\x32\x37.perfetto.protos.AndroidStartupMetric.McyclesByCoreType\x12%\n\x1dother_processes_spawned_count\x18\x03 \x01(\r\x12J\n\x15time_activity_manager\x18\x04 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12N\n\x19time_activity_thread_main\x18\x05 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12J\n\x15time_bind_application\x18\x06 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12H\n\x13time_activity_start\x18\x07 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12I\n\x14time_activity_resume\x18\x08 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12J\n\x15time_activity_restart\x18\x15 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12G\n\x12time_choreographer\x18\t \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x41\n\x0ctime_inflate\x18\x16 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12G\n\x12time_get_resources\x18\x17 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12N\n\x19time_before_start_process\x18\n \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12N\n\x19time_during_start_process\x18\x0b \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12J\n\x15time_to_running_state\x18# \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x41\n\x0cto_post_fork\x18\x12 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12L\n\x17to_activity_thread_main\x18\x13 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12H\n\x13to_bind_application\x18\x14 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x43\n\x0etime_post_fork\x18\x10 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x42\n\rtime_dex_open\x18\x18 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x46\n\x11time_verify_class\x18\x19 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x1c\n\x14jit_compiled_methods\x18\x1b \x01(\r\x12P\n\x1btime_jit_thread_pool_on_cpu\x18\x1c \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x42\n\rtime_gc_total\x18\x1d \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x43\n\x0etime_gc_on_cpu\x18\x1e \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12U\n time_lock_contention_thread_main\x18\x1f \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12X\n#time_monitor_contention_thread_main\x18 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12N\n\x19time_dex_open_thread_main\x18! \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12L\n\x17time_dlopen_thread_main\x18\" \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.SliceJ\x04\x08\x0c\x10\rJ\x04\x08\r\x10\x0eJ\x04\x08\x0e\x10\x0fJ\x04\x08\x0f\x10\x10\x1aO\n\nHscMetrics\x12\x41\n\x0c\x66ull_startup\x18\x01 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x1aG\n\x08\x41\x63tivity\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12\x17\n\x0fts_method_start\x18\x04 \x01(\x03J\x04\x08\x03\x10\x04\x1a\xcb\x01\n\x11\x42inderTransaction\x12=\n\x08\x64uration\x18\x01 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x0e\n\x06thread\x18\x02 \x01(\t\x12\x1a\n\x12\x64\x65stination_thread\x18\x03 \x01(\t\x12\x1b\n\x13\x64\x65stination_process\x18\x04 \x01(\t\x12\r\n\x05\x66lags\x18\x05 \x01(\t\x12\x0c\n\x04\x63ode\x18\x06 \x01(\t\x12\x11\n\tdata_size\x18\x07 \x01(\x03\x1a\x84\x01\n\x12OptimizationStatus\x12\x13\n\x0bodex_status\x18\x01 \x01(\t\x12\x1a\n\x12\x63ompilation_filter\x18\x02 \x01(\t\x12\x1a\n\x12\x63ompilation_reason\x18\x03 \x01(\t\x12\x10\n\x08location\x18\x04 \x01(\t\x12\x0f\n\x07summary\x18\x05 \x01(\t\x1a+\n\x0bVerifyClass\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x64ur_ns\x18\x02 \x01(\x03\x1a?\n\x0f\x45ventTimestamps\x12\x17\n\x0fintent_received\x18\x01 \x01(\x03\x12\x13\n\x0b\x66irst_frame\x18\x02 \x01(\x03\x1a\xe9\x01\n\x0bSystemState\x12\x1b\n\x0f\x64\x65x2oat_running\x18\x01 \x01(\x08\x42\x02\x18\x01\x12\x1c\n\x10installd_running\x18\x02 \x01(\x08\x42\x02\x18\x01\x12\"\n\x1a\x62roadcast_dispatched_count\x18\x03 \x01(\x03\x12 \n\x18\x62roadcast_received_count\x18\x04 \x01(\x03\x12(\n most_active_non_launch_processes\x18\x05 \x03(\t\x12\x17\n\x0finstalld_dur_ns\x18\x06 \x01(\x03\x12\x16\n\x0e\x64\x65x2oat_dur_ns\x18\x07 \x01(\x03\x1a:\n\x17SlowStartReasonDetailed\x12\x0e\n\x06reason\x18\x01 \x01(\t\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x1a\xee\x0b\n\x0fSlowStartReason\x12Q\n\treason_id\x18\x01 \x01(\x0e\x32>.perfetto.protos.AndroidStartupMetric.SlowStartReason.ReasonId\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12U\n\x08severity\x18\n \x01(\x0e\x32\x43.perfetto.protos.AndroidStartupMetric.SlowStartReason.SeverityLevel\x12L\n\x0e\x65xpected_value\x18\x03 \x01(\x0b\x32\x34.perfetto.protos.AndroidStartupMetric.ThresholdValue\x12G\n\x0c\x61\x63tual_value\x18\x04 \x01(\x0b\x32\x31.perfetto.protos.AndroidStartupMetric.ActualValue\x12\x12\n\nlaunch_dur\x18\x05 \x01(\x03\x12\x10\n\x08\x64uration\x18\x06 \x01(\x03\x12U\n\x14trace_slice_sections\x18\x07 \x03(\x0b\x32\x37.perfetto.protos.AndroidStartupMetric.TraceSliceSection\x12W\n\x15trace_thread_sections\x18\x08 \x03(\x0b\x32\x38.perfetto.protos.AndroidStartupMetric.TraceThreadSection\x12\x17\n\x0f\x61\x64\x64itional_info\x18\t \x01(\t\"\xcd\x06\n\x08ReasonId\x12\x19\n\x15REASON_ID_UNSPECIFIED\x10\x00\x12!\n\x1dNO_BASELINE_OR_CLOUD_PROFILES\x10\x01\x12\x10\n\x0cRUN_FROM_APK\x10\x02\x12\x12\n\x0eUNLOCK_RUNNING\x10\x03\x12\x1a\n\x16\x41PP_IN_DEBUGGABLE_MODE\x10\x04\x12\x0f\n\x0bGC_ACTIVITY\x10\x05\x12\x13\n\x0f\x44\x45X2OAT_RUNNING\x10\x06\x12\x14\n\x10INSTALLD_RUNNING\x10\x07\x12&\n\"MAIN_THREAD_TIME_SPENT_IN_RUNNABLE\x10\x08\x12\x31\n-MAIN_THREAD_TIME_SPENT_IN_INTERRUPTIBLE_SLEEP\x10\t\x12)\n%MAIN_THREAD_TIME_SPENT_IN_BLOCKING_IO\x10\n\x12\x35\n1MAIN_THREAD_TIME_SPENT_IN_OPEN_DEX_FILES_FROM_OAT\x10\x0b\x12\"\n\x1eTIME_SPENT_IN_BIND_APPLICATION\x10\x0c\x12 \n\x1cTIME_SPENT_IN_VIEW_INFLATION\x10\r\x12\x31\n-TIME_SPENT_IN_RESOURCES_MANAGER_GET_RESOURCES\x10\x0e\x12 \n\x1cTIME_SPENT_VERIFYING_CLASSES\x10\x0f\x12\x31\n-POTENTIAL_CPU_CONTENTION_WITH_ANOTHER_PROCESS\x10\x10\x12\x10\n\x0cJIT_ACTIVITY\x10\x11\x12\x1f\n\x1bMAIN_THREAD_LOCK_CONTENTION\x10\x12\x12\"\n\x1eMAIN_THREAD_MONITOR_CONTENTION\x10\x13\x12\x18\n\x14JIT_COMPILED_METHODS\x10\x14\x12\x1e\n\x1a\x42ROADCAST_DISPATCHED_COUNT\x10\x15\x12\x1c\n\x18\x42ROADCAST_RECEIVED_COUNT\x10\x16\x12\x1e\n\x1aSTARTUP_RUNNING_CONCURRENT\x10\x17\x12+\n\'MAIN_THREAD_BINDER_TRANSCATIONS_BLOCKED\x10\x18\"K\n\rSeverityLevel\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\t\n\x05\x45RROR\x10\x01\x12\x0b\n\x07WARNING\x10\x02\x12\x08\n\x04INFO\x10\x03\x1a\xf1\x01\n\x0eThresholdValue\x12\r\n\x05value\x18\x01 \x01(\x03\x12P\n\x04unit\x18\x02 \x01(\x0e\x32\x42.perfetto.protos.AndroidStartupMetric.ThresholdValue.ThresholdUnit\x12\x17\n\x0fhigher_expected\x18\x03 \x01(\x08\"e\n\rThresholdUnit\x12\x1e\n\x1aTHRESHOLD_UNIT_UNSPECIFIED\x10\x00\x12\x06\n\x02NS\x10\x01\x12\x0e\n\nPERCENTAGE\x10\x02\x12\x11\n\rTRUE_OR_FALSE\x10\x03\x12\t\n\x05\x43OUNT\x10\x04\x1a)\n\x0b\x41\x63tualValue\x12\r\n\x05value\x18\x01 \x01(\x03\x12\x0b\n\x03\x64ur\x18\x02 \x01(\x03\x1ai\n\x11TraceSliceSection\x12\x17\n\x0fstart_timestamp\x18\x01 \x01(\x03\x12\x15\n\rend_timestamp\x18\x02 \x01(\x03\x12\x10\n\x08slice_id\x18\x03 \x01(\r\x12\x12\n\nslice_name\x18\x04 \x01(\t\x1an\n\x12TraceThreadSection\x12\x17\n\x0fstart_timestamp\x18\x01 \x01(\x03\x12\x15\n\rend_timestamp\x18\x02 \x01(\x03\x12\x13\n\x0bthread_utid\x18\x03 \x01(\r\x12\x13\n\x0bthread_name\x18\x04 \x01(\t\x1a\xe7\t\n\x07Startup\x12\x12\n\nstartup_id\x18\x01 \x01(\r\x12\x14\n\x0cstartup_type\x18\x10 \x01(\t\x12\x14\n\x0cpackage_name\x18\x02 \x01(\t\x12\x14\n\x0cprocess_name\x18\x03 \x01(\t\x12\x42\n\nactivities\x18\x0b \x03(\x0b\x32..perfetto.protos.AndroidStartupMetric.Activity\x12Y\n\x18long_binder_transactions\x18\x0e \x03(\x0b\x32\x37.perfetto.protos.AndroidStartupMetric.BinderTransaction\x12\x1a\n\x12zygote_new_process\x18\x04 \x01(\x08\x12&\n\x1e\x61\x63tivity_hosting_process_count\x18\x06 \x01(\r\x12\x1f\n\x17time_to_initial_display\x18\x16 \x01(\x03\x12\x1c\n\x14time_to_full_display\x18\x17 \x01(\x03\x12O\n\x10\x65vent_timestamps\x18\r \x01(\x0b\x32\x35.perfetto.protos.AndroidStartupMetric.EventTimestamps\x12J\n\x0eto_first_frame\x18\x05 \x01(\x0b\x32\x32.perfetto.protos.AndroidStartupMetric.ToFirstFrame\x12\x38\n\x07process\x18\x07 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12=\n\x03hsc\x18\x08 \x01(\x0b\x32\x30.perfetto.protos.AndroidStartupMetric.HscMetrics\x12G\n\x12report_fully_drawn\x18\t \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12U\n\x13optimization_status\x18\x0c \x03(\x0b\x32\x38.perfetto.protos.AndroidStartupMetric.OptimizationStatus\x12G\n\x0cverify_class\x18\x13 \x03(\x0b\x32\x31.perfetto.protos.AndroidStartupMetric.VerifyClass\x12\x13\n\x0b\x64lopen_file\x18\x14 \x03(\t\x12$\n\x1cstartup_concurrent_to_launch\x18\x12 \x03(\t\x12G\n\x0csystem_state\x18\x0f \x01(\x0b\x32\x31.perfetto.protos.AndroidStartupMetric.SystemState\x12\x19\n\x11slow_start_reason\x18\x11 \x03(\t\x12\x61\n\x1aslow_start_reason_detailed\x18\x15 \x03(\x0b\x32=.perfetto.protos.AndroidStartupMetric.SlowStartReasonDetailed\x12]\n\x1eslow_start_reason_with_details\x18\x18 \x03(\x0b\x32\x35.perfetto.protos.AndroidStartupMetric.SlowStartReasonJ\x04\x08\n\x10\x0b') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.startup_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDSTARTUPMETRIC_SYSTEMSTATE'].fields_by_name['dex2oat_running']._loaded_options = None + _globals['_ANDROIDSTARTUPMETRIC_SYSTEMSTATE'].fields_by_name['dex2oat_running']._serialized_options = b'\030\001' + _globals['_ANDROIDSTARTUPMETRIC_SYSTEMSTATE'].fields_by_name['installd_running']._loaded_options = None + _globals['_ANDROIDSTARTUPMETRIC_SYSTEMSTATE'].fields_by_name['installd_running']._serialized_options = b'\030\001' + _globals['_ANDROIDSTARTUPMETRIC']._serialized_start=130 + _globals['_ANDROIDSTARTUPMETRIC']._serialized_end=6968 + _globals['_ANDROIDSTARTUPMETRIC_TASKSTATEBREAKDOWN']._serialized_start=219 + _globals['_ANDROIDSTARTUPMETRIC_TASKSTATEBREAKDOWN']._serialized_end=448 + _globals['_ANDROIDSTARTUPMETRIC_MCYCLESBYCORETYPE']._serialized_start=450 + _globals['_ANDROIDSTARTUPMETRIC_MCYCLESBYCORETYPE']._serialized_end=531 + _globals['_ANDROIDSTARTUPMETRIC_SLICE']._serialized_start=533 + _globals['_ANDROIDSTARTUPMETRIC_SLICE']._serialized_end=572 + _globals['_ANDROIDSTARTUPMETRIC_TOFIRSTFRAME']._serialized_start=575 + _globals['_ANDROIDSTARTUPMETRIC_TOFIRSTFRAME']._serialized_end=2782 + _globals['_ANDROIDSTARTUPMETRIC_HSCMETRICS']._serialized_start=2784 + _globals['_ANDROIDSTARTUPMETRIC_HSCMETRICS']._serialized_end=2863 + _globals['_ANDROIDSTARTUPMETRIC_ACTIVITY']._serialized_start=2865 + _globals['_ANDROIDSTARTUPMETRIC_ACTIVITY']._serialized_end=2936 + _globals['_ANDROIDSTARTUPMETRIC_BINDERTRANSACTION']._serialized_start=2939 + _globals['_ANDROIDSTARTUPMETRIC_BINDERTRANSACTION']._serialized_end=3142 + _globals['_ANDROIDSTARTUPMETRIC_OPTIMIZATIONSTATUS']._serialized_start=3145 + _globals['_ANDROIDSTARTUPMETRIC_OPTIMIZATIONSTATUS']._serialized_end=3277 + _globals['_ANDROIDSTARTUPMETRIC_VERIFYCLASS']._serialized_start=3279 + _globals['_ANDROIDSTARTUPMETRIC_VERIFYCLASS']._serialized_end=3322 + _globals['_ANDROIDSTARTUPMETRIC_EVENTTIMESTAMPS']._serialized_start=3324 + _globals['_ANDROIDSTARTUPMETRIC_EVENTTIMESTAMPS']._serialized_end=3387 + _globals['_ANDROIDSTARTUPMETRIC_SYSTEMSTATE']._serialized_start=3390 + _globals['_ANDROIDSTARTUPMETRIC_SYSTEMSTATE']._serialized_end=3623 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASONDETAILED']._serialized_start=3625 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASONDETAILED']._serialized_end=3683 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASON']._serialized_start=3686 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASON']._serialized_end=5204 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASON_REASONID']._serialized_start=4282 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASON_REASONID']._serialized_end=5127 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASON_SEVERITYLEVEL']._serialized_start=5129 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASON_SEVERITYLEVEL']._serialized_end=5204 + _globals['_ANDROIDSTARTUPMETRIC_THRESHOLDVALUE']._serialized_start=5207 + _globals['_ANDROIDSTARTUPMETRIC_THRESHOLDVALUE']._serialized_end=5448 + _globals['_ANDROIDSTARTUPMETRIC_THRESHOLDVALUE_THRESHOLDUNIT']._serialized_start=5347 + _globals['_ANDROIDSTARTUPMETRIC_THRESHOLDVALUE_THRESHOLDUNIT']._serialized_end=5448 + _globals['_ANDROIDSTARTUPMETRIC_ACTUALVALUE']._serialized_start=5450 + _globals['_ANDROIDSTARTUPMETRIC_ACTUALVALUE']._serialized_end=5491 + _globals['_ANDROIDSTARTUPMETRIC_TRACESLICESECTION']._serialized_start=5493 + _globals['_ANDROIDSTARTUPMETRIC_TRACESLICESECTION']._serialized_end=5598 + _globals['_ANDROIDSTARTUPMETRIC_TRACETHREADSECTION']._serialized_start=5600 + _globals['_ANDROIDSTARTUPMETRIC_TRACETHREADSECTION']._serialized_end=5710 + _globals['_ANDROIDSTARTUPMETRIC_STARTUP']._serialized_start=5713 + _globals['_ANDROIDSTARTUPMETRIC_STARTUP']._serialized_end=6968 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/surfaceflinger_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/surfaceflinger_pb2.py new file mode 100644 index 0000000..f06d970 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/surfaceflinger_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/surfaceflinger.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/surfaceflinger.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4protos/perfetto/metrics/android/surfaceflinger.proto\x12\x0fperfetto.protos\"\xd5\x04\n\x1b\x41ndroidSurfaceflingerMetric\x12\x15\n\rmissed_frames\x18\x01 \x01(\r\x12\x19\n\x11missed_hwc_frames\x18\x02 \x01(\r\x12\x19\n\x11missed_gpu_frames\x18\x03 \x01(\r\x12\x19\n\x11missed_frame_rate\x18\x04 \x01(\x01\x12\x1d\n\x15missed_hwc_frame_rate\x18\x05 \x01(\x01\x12\x1d\n\x15missed_gpu_frame_rate\x18\x06 \x01(\x01\x12\x17\n\x0fgpu_invocations\x18\x07 \x01(\r\x12\x1e\n\x16\x61vg_gpu_waiting_dur_ms\x18\x08 \x01(\x01\x12*\n\"total_non_empty_gpu_waiting_dur_ms\x18\t \x01(\x01\x12[\n\x13metrics_per_display\x18\n \x03(\x0b\x32>.perfetto.protos.AndroidSurfaceflingerMetric.MetricsPerDisplay\x1a\xcd\x01\n\x11MetricsPerDisplay\x12\x12\n\ndisplay_id\x18\x01 \x01(\t\x12\x15\n\rmissed_frames\x18\x02 \x01(\r\x12\x19\n\x11missed_hwc_frames\x18\x03 \x01(\r\x12\x19\n\x11missed_gpu_frames\x18\x04 \x01(\r\x12\x19\n\x11missed_frame_rate\x18\x05 \x01(\x01\x12\x1d\n\x15missed_hwc_frame_rate\x18\x06 \x01(\x01\x12\x1d\n\x15missed_gpu_frame_rate\x18\x07 \x01(\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.surfaceflinger_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDSURFACEFLINGERMETRIC']._serialized_start=74 + _globals['_ANDROIDSURFACEFLINGERMETRIC']._serialized_end=671 + _globals['_ANDROIDSURFACEFLINGERMETRIC_METRICSPERDISPLAY']._serialized_start=466 + _globals['_ANDROIDSURFACEFLINGERMETRIC_METRICSPERDISPLAY']._serialized_end=671 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/sysui_notif_shade_list_builder_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/sysui_notif_shade_list_builder_metric_pb2.py new file mode 100644 index 0000000..48c084e --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/sysui_notif_shade_list_builder_metric_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/sysui_notif_shade_list_builder_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/sysui_notif_shade_list_builder_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import sysui_slice_performance_statistical_data_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_sysui__slice__performance__statistical__data__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nKprotos/perfetto/metrics/android/sysui_notif_shade_list_builder_metric.proto\x12\x0fperfetto.protos\x1aNprotos/perfetto/metrics/android/sysui_slice_performance_statistical_data.proto\"\xcf\x03\n SysuiNotifShadeListBuilderMetric\x12U\n\x16\x61ll_slices_performance\x18\x01 \x01(\x0b\x32\x35.perfetto.protos.SysUiSlicePerformanceStatisticalData\x12`\n!slices_with_inflation_performance\x18\x02 \x01(\x0b\x32\x35.perfetto.protos.SysUiSlicePerformanceStatisticalData\x12\x63\n$slices_with_modification_performance\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.SysUiSlicePerformanceStatisticalData\x12N\n\x05slice\x18\x04 \x03(\x0b\x32?.perfetto.protos.SysuiNotifShadeListBuilderMetric.SliceDuration\x1a=\n\rSliceDuration\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x64ur_ms\x18\x02 \x01(\x03\x12\x0e\n\x06\x64ur_ns\x18\x03 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.sysui_notif_shade_list_builder_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SYSUINOTIFSHADELISTBUILDERMETRIC']._serialized_start=177 + _globals['_SYSUINOTIFSHADELISTBUILDERMETRIC']._serialized_end=640 + _globals['_SYSUINOTIFSHADELISTBUILDERMETRIC_SLICEDURATION']._serialized_start=579 + _globals['_SYSUINOTIFSHADELISTBUILDERMETRIC_SLICEDURATION']._serialized_end=640 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/sysui_slice_performance_statistical_data_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/sysui_slice_performance_statistical_data_pb2.py new file mode 100644 index 0000000..f5c0a2c --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/sysui_slice_performance_statistical_data_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/sysui_slice_performance_statistical_data.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/sysui_slice_performance_statistical_data.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nNprotos/perfetto/metrics/android/sysui_slice_performance_statistical_data.proto\x12\x0fperfetto.protos\"\x91\x01\n$SysUiSlicePerformanceStatisticalData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63nt\x18\x02 \x01(\x03\x12\x12\n\navg_dur_ms\x18\x03 \x01(\x03\x12\x12\n\nmax_dur_ms\x18\x04 \x01(\x03\x12\x12\n\navg_dur_ns\x18\x06 \x01(\x03\x12\x12\n\nmax_dur_ns\x18\x07 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.sysui_slice_performance_statistical_data_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SYSUISLICEPERFORMANCESTATISTICALDATA']._serialized_start=100 + _globals['_SYSUISLICEPERFORMANCESTATISTICALDATA']._serialized_end=245 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/sysui_update_notif_on_ui_mode_changed_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/sysui_update_notif_on_ui_mode_changed_metric_pb2.py new file mode 100644 index 0000000..e008f75 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/sysui_update_notif_on_ui_mode_changed_metric_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/sysui_update_notif_on_ui_mode_changed_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/sysui_update_notif_on_ui_mode_changed_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import sysui_slice_performance_statistical_data_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_sysui__slice__performance__statistical__data__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nRprotos/perfetto/metrics/android/sysui_update_notif_on_ui_mode_changed_metric.proto\x12\x0fperfetto.protos\x1aNprotos/perfetto/metrics/android/sysui_slice_performance_statistical_data.proto\"\x92\x02\n%SysuiUpdateNotifOnUiModeChangedMetric\x12U\n\x16\x61ll_slices_performance\x18\x01 \x01(\x0b\x32\x35.perfetto.protos.SysUiSlicePerformanceStatisticalData\x12S\n\x05slice\x18\x02 \x03(\x0b\x32\x44.perfetto.protos.SysuiUpdateNotifOnUiModeChangedMetric.SliceDuration\x1a=\n\rSliceDuration\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x64ur_ms\x18\x02 \x01(\x03\x12\x0e\n\x06\x64ur_ns\x18\x03 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.sysui_update_notif_on_ui_mode_changed_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SYSUIUPDATENOTIFONUIMODECHANGEDMETRIC']._serialized_start=184 + _globals['_SYSUIUPDATENOTIFONUIMODECHANGEDMETRIC']._serialized_end=458 + _globals['_SYSUIUPDATENOTIFONUIMODECHANGEDMETRIC_SLICEDURATION']._serialized_start=397 + _globals['_SYSUIUPDATENOTIFONUIMODECHANGEDMETRIC_SLICEDURATION']._serialized_end=458 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/task_names_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/task_names_pb2.py new file mode 100644 index 0000000..76f5cb1 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/task_names_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/task_names.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/task_names.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/metrics/android/task_names.proto\x12\x0fperfetto.protos\"\xc4\x01\n\x10\x41ndroidTaskNames\x12:\n\x07process\x18\x01 \x03(\x0b\x32).perfetto.protos.AndroidTaskNames.Process\x1at\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x03\x12\x14\n\x0cprocess_name\x18\x02 \x01(\t\x12\x13\n\x0bthread_name\x18\x03 \x03(\t\x12\x0b\n\x03uid\x18\x04 \x01(\x03\x12\x18\n\x10uid_package_name\x18\x05 \x03(\tJ\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.task_names_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDTASKNAMES']._serialized_start=70 + _globals['_ANDROIDTASKNAMES']._serialized_end=266 + _globals['_ANDROIDTASKNAMES_PROCESS']._serialized_start=150 + _globals['_ANDROIDTASKNAMES_PROCESS']._serialized_end=266 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/thread_time_in_state_metric_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/thread_time_in_state_metric_pb2.py new file mode 100644 index 0000000..feeab52 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/thread_time_in_state_metric_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/thread_time_in_state_metric.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/thread_time_in_state_metric.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import process_metadata_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_process__metadata__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nAprotos/perfetto/metrics/android/thread_time_in_state_metric.proto\x12\x0fperfetto.protos\x1a\x36protos/perfetto/metrics/android/process_metadata.proto\"\xf0\x04\n\x1e\x41ndroidThreadTimeInStateMetric\x12J\n\tprocesses\x18\x01 \x03(\x0b\x32\x37.perfetto.protos.AndroidThreadTimeInStateMetric.Process\x1a\x81\x01\n\x11MetricsByCoreType\x12\x19\n\x11time_in_state_cpu\x18\x05 \x01(\x05\x12\x11\n\tcore_type\x18\x01 \x01(\t\x12\x12\n\nruntime_ms\x18\x02 \x01(\x03\x12\x0f\n\x07mcycles\x18\x03 \x01(\x03\x12\x19\n\x11power_profile_mah\x18\x04 \x01(\x01\x1a\x8c\x01\n\x06Thread\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bmain_thread\x18\x03 \x01(\x08\x12_\n\x14metrics_by_core_type\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.AndroidThreadTimeInStateMetric.MetricsByCoreType\x1a\xee\x01\n\x07Process\x12\x39\n\x08metadata\x18\x01 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12_\n\x14metrics_by_core_type\x18\x02 \x03(\x0b\x32\x41.perfetto.protos.AndroidThreadTimeInStateMetric.MetricsByCoreType\x12G\n\x07threads\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.AndroidThreadTimeInStateMetric.Thread') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.thread_time_in_state_metric_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDTHREADTIMEINSTATEMETRIC']._serialized_start=143 + _globals['_ANDROIDTHREADTIMEINSTATEMETRIC']._serialized_end=767 + _globals['_ANDROIDTHREADTIMEINSTATEMETRIC_METRICSBYCORETYPE']._serialized_start=254 + _globals['_ANDROIDTHREADTIMEINSTATEMETRIC_METRICSBYCORETYPE']._serialized_end=383 + _globals['_ANDROIDTHREADTIMEINSTATEMETRIC_THREAD']._serialized_start=386 + _globals['_ANDROIDTHREADTIMEINSTATEMETRIC_THREAD']._serialized_end=526 + _globals['_ANDROIDTHREADTIMEINSTATEMETRIC_PROCESS']._serialized_start=529 + _globals['_ANDROIDTHREADTIMEINSTATEMETRIC_PROCESS']._serialized_end=767 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/trace_quality_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/trace_quality_pb2.py new file mode 100644 index 0000000..cd8ac02 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/trace_quality_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/trace_quality.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/trace_quality.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/metrics/android/trace_quality.proto\x12\x0fperfetto.protos\"z\n\x19\x41ndroidTraceQualityMetric\x12\x44\n\x08\x66\x61ilures\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.AndroidTraceQualityMetric.Failure\x1a\x17\n\x07\x46\x61ilure\x12\x0c\n\x04name\x18\x01 \x01(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.trace_quality_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDTRACEQUALITYMETRIC']._serialized_start=72 + _globals['_ANDROIDTRACEQUALITYMETRIC']._serialized_end=194 + _globals['_ANDROIDTRACEQUALITYMETRIC_FAILURE']._serialized_start=171 + _globals['_ANDROIDTRACEQUALITYMETRIC_FAILURE']._serialized_end=194 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/unsymbolized_frames_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/unsymbolized_frames_pb2.py new file mode 100644 index 0000000..55d721c --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/unsymbolized_frames_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/unsymbolized_frames.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/unsymbolized_frames.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/metrics/android/unsymbolized_frames.proto\x12\x0fperfetto.protos\"\xa5\x01\n\x12UnsymbolizedFrames\x12\x39\n\x06\x66rames\x18\x01 \x03(\x0b\x32).perfetto.protos.UnsymbolizedFrames.Frame\x1aT\n\x05\x46rame\x12\x0e\n\x06module\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x03 \x01(\x03\x12\x18\n\x10google_lookup_id\x18\x04 \x01(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.unsymbolized_frames_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_UNSYMBOLIZEDFRAMES']._serialized_start=79 + _globals['_UNSYMBOLIZEDFRAMES']._serialized_end=244 + _globals['_UNSYMBOLIZEDFRAMES_FRAME']._serialized_start=160 + _globals['_UNSYMBOLIZEDFRAMES_FRAME']._serialized_end=244 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/wattson_in_time_period_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/wattson_in_time_period_pb2.py new file mode 100644 index 0000000..6d50178 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/wattson_in_time_period_pb2.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/wattson_in_time_period.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/wattson_in_time_period.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\n\x07policy0\x18\x02 \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07policy1\x18\x03 \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07policy2\x18\x04 \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07policy3\x18\x05 \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07policy4\x18\x06 \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07policy5\x18\x07 \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07policy6\x18\x08 \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07policy7\x18\t \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07\x64su_scu\x18\n \x01(\x0b\x32-.perfetto.protos.AndroidWattsonDsuScuEstimate\"\x83\x04\n\x1c\x41ndroidWattsonPolicyEstimate\x12\x13\n\x0b\x65stimate_mw\x18\x01 \x01(\x02\x12\x38\n\x04\x63pu0\x18\x02 \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\x12\x38\n\x04\x63pu1\x18\x03 \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\x12\x38\n\x04\x63pu2\x18\x04 \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\x12\x38\n\x04\x63pu3\x18\x05 \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\x12\x38\n\x04\x63pu4\x18\x06 \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\x12\x38\n\x04\x63pu5\x18\x07 \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\x12\x38\n\x04\x63pu6\x18\x08 \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\x12\x38\n\x04\x63pu7\x18\t \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\"0\n\x19\x41ndroidWattsonCpuEstimate\x12\x13\n\x0b\x65stimate_mw\x18\x01 \x01(\x02\"3\n\x1c\x41ndroidWattsonDsuScuEstimate\x12\x13\n\x0b\x65stimate_mw\x18\x01 \x01(\x02') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.wattson_in_time_period_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDWATTSONTIMEPERIODMETRIC']._serialized_start=81 + _globals['_ANDROIDWATTSONTIMEPERIODMETRIC']._serialized_end=203 + _globals['_ANDROIDWATTSONESTIMATEINFO']._serialized_start=206 + _globals['_ANDROIDWATTSONESTIMATEINFO']._serialized_end=349 + _globals['_ANDROIDWATTSONCPUSUBSYSTEMESTIMATE']._serialized_start=352 + _globals['_ANDROIDWATTSONCPUSUBSYSTEMESTIMATE']._serialized_end=985 + _globals['_ANDROIDWATTSONPOLICYESTIMATE']._serialized_start=988 + _globals['_ANDROIDWATTSONPOLICYESTIMATE']._serialized_end=1503 + _globals['_ANDROIDWATTSONCPUESTIMATE']._serialized_start=1505 + _globals['_ANDROIDWATTSONCPUESTIMATE']._serialized_end=1553 + _globals['_ANDROIDWATTSONDSUSCUESTIMATE']._serialized_start=1555 + _globals['_ANDROIDWATTSONDSUSCUESTIMATE']._serialized_end=1606 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/android/wattson_tasks_attribution_pb2.py b/lglpy/timeline/protos/perfetto/metrics/android/wattson_tasks_attribution_pb2.py new file mode 100644 index 0000000..27b9243 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/android/wattson_tasks_attribution_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/android/wattson_tasks_attribution.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/android/wattson_tasks_attribution.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?protos/perfetto/metrics/android/wattson_tasks_attribution.proto\x12\x0fperfetto.protos\"z\n$AndroidWattsonTasksAttributionMetric\x12\x16\n\x0emetric_version\x18\x01 \x01(\x05\x12:\n\ttask_info\x18\x02 \x03(\x0b\x32\'.perfetto.protos.AndroidWattsonTaskInfo\"\xab\x01\n\x16\x41ndroidWattsonTaskInfo\x12\x13\n\x0b\x65stimate_mw\x18\x01 \x01(\x02\x12\x14\n\x0c\x65stimate_mws\x18\x02 \x01(\x02\x12\x13\n\x0bthread_name\x18\x03 \x01(\t\x12\x14\n\x0cprocess_name\x18\x04 \x01(\t\x12\x14\n\x0cpackage_name\x18\x05 \x01(\t\x12\x11\n\tthread_id\x18\x06 \x01(\x05\x12\x12\n\nprocess_id\x18\x07 \x01(\x05') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.android.wattson_tasks_attribution_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDWATTSONTASKSATTRIBUTIONMETRIC']._serialized_start=84 + _globals['_ANDROIDWATTSONTASKSATTRIBUTIONMETRIC']._serialized_end=206 + _globals['_ANDROIDWATTSONTASKINFO']._serialized_start=209 + _globals['_ANDROIDWATTSONTASKINFO']._serialized_end=380 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/chrome/__init__.py b/lglpy/timeline/protos/perfetto/metrics/chrome/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/metrics/chrome/all_chrome_metrics_pb2.py b/lglpy/timeline/protos/perfetto/metrics/chrome/all_chrome_metrics_pb2.py new file mode 100644 index 0000000..df490fb --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/chrome/all_chrome_metrics_pb2.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/chrome/all_chrome_metrics.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/chrome/all_chrome_metrics.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics import metrics_pb2 as protos_dot_perfetto_dot_metrics_dot_metrics__pb2 +from protos.perfetto.metrics.chrome import args_class_names_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_args__class__names__pb2 +from protos.perfetto.metrics.chrome import dropped_frames_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_dropped__frames__pb2 +from protos.perfetto.metrics.chrome import frame_times_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_frame__times__pb2 +from protos.perfetto.metrics.chrome import histogram_hashes_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_histogram__hashes__pb2 +from protos.perfetto.metrics.chrome import long_latency_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_long__latency__pb2 +from protos.perfetto.metrics.chrome import media_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_media__metric__pb2 +from protos.perfetto.metrics.chrome import performance_mark_hashes_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_performance__mark__hashes__pb2 +from protos.perfetto.metrics.chrome import reported_by_page_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_reported__by__page__pb2 +from protos.perfetto.metrics.chrome import slice_names_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_slice__names__pb2 +from protos.perfetto.metrics.chrome import scroll_jank_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_scroll__jank__pb2 +from protos.perfetto.metrics.chrome import scroll_jank_v3_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_scroll__jank__v3__pb2 +from protos.perfetto.metrics.chrome import test_chrome_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_test__chrome__metric__pb2 +from protos.perfetto.metrics.chrome import touch_jank_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_touch__jank__pb2 +from protos.perfetto.metrics.chrome import user_event_hashes_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_user__event__hashes__pb2 +from protos.perfetto.metrics.chrome import unsymbolized_args_pb2 as protos_dot_perfetto_dot_metrics_dot_chrome_dot_unsymbolized__args__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7protos/perfetto/metrics/chrome/all_chrome_metrics.proto\x12\x0fperfetto.protos\x1a%protos/perfetto/metrics/metrics.proto\x1a\x35protos/perfetto/metrics/chrome/args_class_names.proto\x1a\x33protos/perfetto/metrics/chrome/dropped_frames.proto\x1a\x30protos/perfetto/metrics/chrome/frame_times.proto\x1a\x35protos/perfetto/metrics/chrome/histogram_hashes.proto\x1a\x31protos/perfetto/metrics/chrome/long_latency.proto\x1a\x31protos/perfetto/metrics/chrome/media_metric.proto\x1a\n\x1bnum_touch_update_jank_count\x18\x06 \x01(\x03\x42\x19\x8a\xb5\x18\x15\x63ount_smallerIsBetter\x12\x34\n\x14touch_jank_budget_ms\x18\x07 \x01(\x01\x42\x16\x8a\xb5\x18\x12ms_smallerIsBetter') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.chrome.touch_jank_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TOUCHJANK'].fields_by_name['touch_jank_percentage']._loaded_options = None + _globals['_TOUCHJANK'].fields_by_name['touch_jank_percentage']._serialized_options = b'\212\265\030\022n%_smallerIsBetter' + _globals['_TOUCHJANK'].fields_by_name['touch_ms']._loaded_options = None + _globals['_TOUCHJANK'].fields_by_name['touch_ms']._serialized_options = b'\212\265\030\021ms_biggerIsBetter' + _globals['_TOUCHJANK'].fields_by_name['touch_processing_ms']._loaded_options = None + _globals['_TOUCHJANK'].fields_by_name['touch_processing_ms']._serialized_options = b'\212\265\030\021ms_biggerIsBetter' + _globals['_TOUCHJANK'].fields_by_name['touch_jank_processing_ms']._loaded_options = None + _globals['_TOUCHJANK'].fields_by_name['touch_jank_processing_ms']._serialized_options = b'\212\265\030\022ms_smallerIsBetter' + _globals['_TOUCHJANK'].fields_by_name['num_touch_update_count']._loaded_options = None + _globals['_TOUCHJANK'].fields_by_name['num_touch_update_count']._serialized_options = b'\212\265\030\024count_biggerIsBetter' + _globals['_TOUCHJANK'].fields_by_name['num_touch_update_jank_count']._loaded_options = None + _globals['_TOUCHJANK'].fields_by_name['num_touch_update_jank_count']._serialized_options = b'\212\265\030\025count_smallerIsBetter' + _globals['_TOUCHJANK'].fields_by_name['touch_jank_budget_ms']._loaded_options = None + _globals['_TOUCHJANK'].fields_by_name['touch_jank_budget_ms']._serialized_options = b'\212\265\030\022ms_smallerIsBetter' + _globals['_TOUCHJANK']._serialized_start=115 + _globals['_TOUCHJANK']._serialized_end=508 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/chrome/unsymbolized_args_pb2.py b/lglpy/timeline/protos/perfetto/metrics/chrome/unsymbolized_args_pb2.py new file mode 100644 index 0000000..080e303 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/chrome/unsymbolized_args_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/chrome/unsymbolized_args.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/chrome/unsymbolized_args.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6protos/perfetto/metrics/chrome/unsymbolized_args.proto\x12\x0fperfetto.protos\"\xa7\x01\n\x16\x43hromeUnsymbolizedArgs\x12\x39\n\x04\x61rgs\x18\x01 \x03(\x0b\x32+.perfetto.protos.ChromeUnsymbolizedArgs.Arg\x1aR\n\x03\x41rg\x12\x0e\n\x06module\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x03 \x01(\x03\x12\x18\n\x10google_lookup_id\x18\x04 \x01(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.chrome.unsymbolized_args_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMEUNSYMBOLIZEDARGS']._serialized_start=76 + _globals['_CHROMEUNSYMBOLIZEDARGS']._serialized_end=243 + _globals['_CHROMEUNSYMBOLIZEDARGS_ARG']._serialized_start=161 + _globals['_CHROMEUNSYMBOLIZEDARGS_ARG']._serialized_end=243 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/chrome/user_event_hashes_pb2.py b/lglpy/timeline/protos/perfetto/metrics/chrome/user_event_hashes_pb2.py new file mode 100644 index 0000000..d9103e5 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/chrome/user_event_hashes_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/chrome/user_event_hashes.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/chrome/user_event_hashes.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6protos/perfetto/metrics/chrome/user_event_hashes.proto\x12\x0fperfetto.protos\",\n\x15\x43hromeUserEventHashes\x12\x13\n\x0b\x61\x63tion_hash\x18\x01 \x03(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.chrome.user_event_hashes_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMEUSEREVENTHASHES']._serialized_start=75 + _globals['_CHROMEUSEREVENTHASHES']._serialized_end=119 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/custom_options_pb2.py b/lglpy/timeline/protos/perfetto/metrics/custom_options_pb2.py new file mode 100644 index 0000000..6e33dbe --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/custom_options_pb2.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/custom_options.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/custom_options.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,protos/perfetto/metrics/custom_options.proto\x1a google/protobuf/descriptor.proto:-\n\x04unit\x12\x1d.google.protobuf.FieldOptions\x18\xd1\x86\x03 \x01(\t:=\n\x14improvementDirection\x12\x1d.google.protobuf.FieldOptions\x18\xd2\x86\x03 \x01(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.custom_options_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/metrics_pb2.py b/lglpy/timeline/protos/perfetto/metrics/metrics_pb2.py new file mode 100644 index 0000000..f5d8702 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/metrics_pb2.py @@ -0,0 +1,106 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/metrics.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/metrics.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics.android import ad_services_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_ad__services__metric__pb2 +from protos.perfetto.metrics.android import android_boot_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_android__boot__pb2 +from protos.perfetto.metrics.android import android_boot_unagg_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_android__boot__unagg__pb2 +from protos.perfetto.metrics.android import android_garbage_collection_unagg_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_android__garbage__collection__unagg__metric__pb2 +from protos.perfetto.metrics.android import auto_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_auto__metric__pb2 +from protos.perfetto.metrics.android import sysui_notif_shade_list_builder_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_sysui__notif__shade__list__builder__metric__pb2 +from protos.perfetto.metrics.android import sysui_update_notif_on_ui_mode_changed_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_sysui__update__notif__on__ui__mode__changed__metric__pb2 +from protos.perfetto.metrics.android import android_frame_timeline_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_android__frame__timeline__metric__pb2 +from protos.perfetto.metrics.android import anr_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_anr__metric__pb2 +from protos.perfetto.metrics.android import batt_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_batt__metric__pb2 +from protos.perfetto.metrics.android import android_sysui_notifications_blocking_calls_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_android__sysui__notifications__blocking__calls__metric__pb2 +from protos.perfetto.metrics.android import android_blocking_calls_cuj_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_android__blocking__calls__cuj__metric__pb2 +from protos.perfetto.metrics.android import android_blocking_calls_unagg_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_android__blocking__calls__unagg__pb2 +from protos.perfetto.metrics.android import codec_metrics_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_codec__metrics__pb2 +from protos.perfetto.metrics.android import cpu_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_cpu__metric__pb2 +from protos.perfetto.metrics.android import camera_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_camera__metric__pb2 +from protos.perfetto.metrics.android import camera_unagg_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_camera__unagg__metric__pb2 +from protos.perfetto.metrics.android import display_metrics_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_display__metrics__pb2 +from protos.perfetto.metrics.android import dma_heap_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_dma__heap__metric__pb2 +from protos.perfetto.metrics.android import dvfs_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_dvfs__metric__pb2 +from protos.perfetto.metrics.android import fastrpc_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_fastrpc__metric__pb2 +from protos.perfetto.metrics.android import g2d_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_g2d__metric__pb2 +from protos.perfetto.metrics.android import gpu_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_gpu__metric__pb2 +from protos.perfetto.metrics.android import hwcomposer_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_hwcomposer__pb2 +from protos.perfetto.metrics.android import hwui_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_hwui__metric__pb2 +from protos.perfetto.metrics.android import io_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_io__metric__pb2 +from protos.perfetto.metrics.android import io_unagg_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_io__unagg__metric__pb2 +from protos.perfetto.metrics.android import ion_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_ion__metric__pb2 +from protos.perfetto.metrics.android import irq_runtime_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_irq__runtime__metric__pb2 +from protos.perfetto.metrics.android import jank_cuj_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_jank__cuj__metric__pb2 +from protos.perfetto.metrics.android import java_heap_histogram_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_java__heap__histogram__pb2 +from protos.perfetto.metrics.android import java_heap_class_stats_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_java__heap__class__stats__pb2 +from protos.perfetto.metrics.android import java_heap_stats_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_java__heap__stats__pb2 +from protos.perfetto.metrics.android import lmk_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_lmk__metric__pb2 +from protos.perfetto.metrics.android import lmk_reason_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_lmk__reason__metric__pb2 +from protos.perfetto.metrics.android import mem_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_mem__metric__pb2 +from protos.perfetto.metrics.android import mem_unagg_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_mem__unagg__metric__pb2 +from protos.perfetto.metrics.android import multiuser_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_multiuser__metric__pb2 +from protos.perfetto.metrics.android import network_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_network__metric__pb2 +from protos.perfetto.metrics.android import other_traces_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_other__traces__pb2 +from protos.perfetto.metrics.android import package_list_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_package__list__pb2 +from protos.perfetto.metrics.android import powrails_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_powrails__metric__pb2 +from protos.perfetto.metrics.android import profiler_smaps_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_profiler__smaps__pb2 +from protos.perfetto.metrics.android import rt_runtime_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_rt__runtime__metric__pb2 +from protos.perfetto.metrics.android import simpleperf_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_simpleperf__pb2 +from protos.perfetto.metrics.android import startup_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_startup__metric__pb2 +from protos.perfetto.metrics.android import surfaceflinger_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_surfaceflinger__pb2 +from protos.perfetto.metrics.android import task_names_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_task__names__pb2 +from protos.perfetto.metrics.android import trace_quality_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_trace__quality__pb2 +from protos.perfetto.metrics.android import android_trusty_workqueues_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_android__trusty__workqueues__pb2 +from protos.perfetto.metrics.android import unsymbolized_frames_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_unsymbolized__frames__pb2 +from protos.perfetto.metrics.android import binder_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_binder__metric__pb2 +from protos.perfetto.metrics.android import monitor_contention_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_monitor__contention__metric__pb2 +from protos.perfetto.metrics.android import monitor_contention_agg_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_monitor__contention__agg__metric__pb2 +from protos.perfetto.metrics.android import app_process_starts_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_app__process__starts__metric__pb2 +from protos.perfetto.metrics.android import android_oom_adjuster_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_android__oom__adjuster__metric__pb2 +from protos.perfetto.metrics.android import android_broadcasts_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_android__broadcasts__metric__pb2 +from protos.perfetto.metrics.android import wattson_in_time_period_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_wattson__in__time__period__pb2 +from protos.perfetto.metrics.android import android_anomaly_metric_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_android__anomaly__metric__pb2 +from protos.perfetto.metrics.android import wattson_tasks_attribution_pb2 as protos_dot_perfetto_dot_metrics_dot_android_dot_wattson__tasks__attribution__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%protos/perfetto/metrics/metrics.proto\x12\x0fperfetto.protos\x1a\x38protos/perfetto/metrics/android/ad_services_metric.proto\x1a\x32protos/perfetto/metrics/android/android_boot.proto\x1a\x38protos/perfetto/metrics/android/android_boot_unagg.proto\x1aMprotos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto\x1a\x31protos/perfetto/metrics/android/auto_metric.proto\x1aKprotos/perfetto/metrics/android/sysui_notif_shade_list_builder_metric.proto\x1aRprotos/perfetto/metrics/android/sysui_update_notif_on_ui_mode_changed_metric.proto\x1a\x43protos/perfetto/metrics/android/android_frame_timeline_metric.proto\x1a\x30protos/perfetto/metrics/android/anr_metric.proto\x1a\x31protos/perfetto/metrics/android/batt_metric.proto\x1aWprotos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric.proto\x1aGprotos/perfetto/metrics/android/android_blocking_calls_cuj_metric.proto\x1a\x42protos/perfetto/metrics/android/android_blocking_calls_unagg.proto\x1a\x33protos/perfetto/metrics/android/codec_metrics.proto\x1a\x30protos/perfetto/metrics/android/cpu_metric.proto\x1a\x33protos/perfetto/metrics/android/camera_metric.proto\x1a\x39protos/perfetto/metrics/android/camera_unagg_metric.proto\x1a\x35protos/perfetto/metrics/android/display_metrics.proto\x1a\x35protos/perfetto/metrics/android/dma_heap_metric.proto\x1a\x31protos/perfetto/metrics/android/dvfs_metric.proto\x1a\x34protos/perfetto/metrics/android/fastrpc_metric.proto\x1a\x30protos/perfetto/metrics/android/g2d_metric.proto\x1a\x30protos/perfetto/metrics/android/gpu_metric.proto\x1a\x30protos/perfetto/metrics/android/hwcomposer.proto\x1a\x31protos/perfetto/metrics/android/hwui_metric.proto\x1a/protos/perfetto/metrics/android/io_metric.proto\x1a\x35protos/perfetto/metrics/android/io_unagg_metric.proto\x1a\x30protos/perfetto/metrics/android/ion_metric.proto\x1a\x38protos/perfetto/metrics/android/irq_runtime_metric.proto\x1a\x35protos/perfetto/metrics/android/jank_cuj_metric.proto\x1a\x39protos/perfetto/metrics/android/java_heap_histogram.proto\x1a;protos/perfetto/metrics/android/java_heap_class_stats.proto\x1a\x35protos/perfetto/metrics/android/java_heap_stats.proto\x1a\x30protos/perfetto/metrics/android/lmk_metric.proto\x1a\x37protos/perfetto/metrics/android/lmk_reason_metric.proto\x1a\x30protos/perfetto/metrics/android/mem_metric.proto\x1a\x36protos/perfetto/metrics/android/mem_unagg_metric.proto\x1a\x36protos/perfetto/metrics/android/multiuser_metric.proto\x1a\x34protos/perfetto/metrics/android/network_metric.proto\x1a\x32protos/perfetto/metrics/android/other_traces.proto\x1a\x32protos/perfetto/metrics/android/package_list.proto\x1a\x35protos/perfetto/metrics/android/powrails_metric.proto\x1a\x34protos/perfetto/metrics/android/profiler_smaps.proto\x1a\x37protos/perfetto/metrics/android/rt_runtime_metric.proto\x1a\x30protos/perfetto/metrics/android/simpleperf.proto\x1a\x34protos/perfetto/metrics/android/startup_metric.proto\x1a\x34protos/perfetto/metrics/android/surfaceflinger.proto\x1a\x30protos/perfetto/metrics/android/task_names.proto\x1a\x33protos/perfetto/metrics/android/trace_quality.proto\x1a?protos/perfetto/metrics/android/android_trusty_workqueues.proto\x1a\x39protos/perfetto/metrics/android/unsymbolized_frames.proto\x1a\x33protos/perfetto/metrics/android/binder_metric.proto\x1a?protos/perfetto/metrics/android/monitor_contention_metric.proto\x1a\x43protos/perfetto/metrics/android/monitor_contention_agg_metric.proto\x1a?protos/perfetto/metrics/android/app_process_starts_metric.proto\x1a\x41protos/perfetto/metrics/android/android_oom_adjuster_metric.proto\x1a?protos/perfetto/metrics/android/android_broadcasts_metric.proto\x1a\n\x08severity\x18\x03 \x01(\x0e\x32,.perfetto.protos.TraceAnalysisStats.Severity\x12:\n\x06source\x18\x04 \x01(\x0e\x32*.perfetto.protos.TraceAnalysisStats.Source\x12\r\n\x05\x63ount\x18\x05 \x01(\x03\"_\n\x08Severity\x12\x14\n\x10SEVERITY_UNKNOWN\x10\x00\x12\x11\n\rSEVERITY_INFO\x10\x01\x12\x16\n\x12SEVERITY_DATA_LOSS\x10\x02\x12\x12\n\x0eSEVERITY_ERROR\x10\x03\"C\n\x06Source\x12\x12\n\x0eSOURCE_UNKNOWN\x10\x00\x12\x10\n\x0cSOURCE_TRACE\x10\x01\x12\x13\n\x0fSOURCE_ANALYSIS\x10\x02\"\xc3$\n\x0cTraceMetrics\x12;\n\x0c\x61ndroid_batt\x18\x05 \x01(\x0b\x32%.perfetto.protos.AndroidBatteryMetric\x12\x36\n\x0b\x61ndroid_cpu\x18\x06 \x01(\x0b\x32!.perfetto.protos.AndroidCpuMetric\x12\x39\n\x0b\x61ndroid_mem\x18\x01 \x01(\x0b\x32$.perfetto.protos.AndroidMemoryMetric\x12K\n\x11\x61ndroid_mem_unagg\x18\x0b \x01(\x0b\x32\x30.perfetto.protos.AndroidMemoryUnaggregatedMetric\x12\x41\n\x14\x61ndroid_package_list\x18\x0c \x01(\x0b\x32#.perfetto.protos.AndroidPackageList\x12\x36\n\x0b\x61ndroid_ion\x18\t \x01(\x0b\x32!.perfetto.protos.AndroidIonMetric\x12>\n\x0f\x61ndroid_fastrpc\x18\x1f \x01(\x0b\x32%.perfetto.protos.AndroidFastrpcMetric\x12\x36\n\x0b\x61ndroid_lmk\x18\x08 \x01(\x0b\x32!.perfetto.protos.AndroidLmkMetric\x12<\n\x10\x61ndroid_powrails\x18\x07 \x01(\x0b\x32\".perfetto.protos.AndroidPowerRails\x12>\n\x0f\x61ndroid_startup\x18\x02 \x01(\x0b\x32%.perfetto.protos.AndroidStartupMetric\x12\x36\n\x0etrace_metadata\x18\x03 \x01(\x0b\x32\x1e.perfetto.protos.TraceMetadata\x12\x38\n\x0btrace_stats\x18! \x01(\x0b\x32#.perfetto.protos.TraceAnalysisStats\x12@\n\x13unsymbolized_frames\x18\x0f \x01(\x0b\x32#.perfetto.protos.UnsymbolizedFrames\x12\x37\n\x0fjava_heap_stats\x18\x11 \x01(\x0b\x32\x1e.perfetto.protos.JavaHeapStats\x12?\n\x13java_heap_histogram\x18\x15 \x01(\x0b\x32\".perfetto.protos.JavaHeapHistogram\x12\x42\n\x15java_heap_class_stats\x18\x43 \x01(\x0b\x32#.perfetto.protos.JavaHeapClassStats\x12\x43\n\x12\x61ndroid_lmk_reason\x18\x12 \x01(\x0b\x32\'.perfetto.protos.AndroidLmkReasonMetric\x12?\n\x13\x61ndroid_hwui_metric\x18\x14 \x01(\x0b\x32\".perfetto.protos.AndroidHwuiMetric\x12?\n\x0f\x64isplay_metrics\x18\x16 \x01(\x0b\x32&.perfetto.protos.AndroidDisplayMetrics\x12=\n\x12\x61ndroid_task_names\x18\x17 \x01(\x0b\x32!.perfetto.protos.AndroidTaskNames\x12L\n\x16\x61ndroid_surfaceflinger\x18\x19 \x01(\x0b\x32,.perfetto.protos.AndroidSurfaceflingerMetric\x12\x36\n\x0b\x61ndroid_gpu\x18\x1a \x01(\x0b\x32!.perfetto.protos.AndroidGpuMetric\x12?\n\x10\x61ndroid_jank_cuj\x18\x30 \x01(\x0b\x32%.perfetto.protos.AndroidJankCujMetric\x12\x45\n\x12\x61ndroid_hwcomposer\x18\x1c \x01(\x0b\x32).perfetto.protos.AndroidHwcomposerMetrics\x12(\n\x03g2d\x18\x1e \x01(\x0b\x32\x1b.perfetto.protos.G2dMetrics\x12?\n\x10\x61ndroid_dma_heap\x18 \x01(\x0b\x32%.perfetto.protos.AndroidDmaHeapMetric\x12I\n\x15\x61ndroid_trace_quality\x18\" \x01(\x0b\x32*.perfetto.protos.AndroidTraceQualityMetric\x12\x36\n\x0eprofiler_smaps\x18# \x01(\x0b\x32\x1e.perfetto.protos.ProfilerSmaps\x12\x42\n\x11\x61ndroid_multiuser\x18$ \x01(\x0b\x32\'.perfetto.protos.AndroidMultiuserMetric\x12\x44\n\x12\x61ndroid_simpleperf\x18% \x01(\x0b\x32(.perfetto.protos.AndroidSimpleperfMetric\x12<\n\x0e\x61ndroid_camera\x18& \x01(\x0b\x32$.perfetto.protos.AndroidCameraMetric\x12\x38\n\x0c\x61ndroid_dvfs\x18\' \x01(\x0b\x32\".perfetto.protos.AndroidDvfsMetric\x12>\n\x0f\x61ndroid_netperf\x18( \x01(\x0b\x32%.perfetto.protos.AndroidNetworkMetric\x12N\n\x14\x61ndroid_camera_unagg\x18) \x01(\x0b\x32\x30.perfetto.protos.AndroidCameraUnaggregatedMetric\x12\x43\n\x12\x61ndroid_rt_runtime\x18* \x01(\x0b\x32\'.perfetto.protos.AndroidRtRuntimeMetric\x12\x45\n\x13\x61ndroid_irq_runtime\x18+ \x01(\x0b\x32(.perfetto.protos.AndroidIrqRuntimeMetric\x12K\n\x19\x61ndroid_trusty_workqueues\x18, \x01(\x0b\x32(.perfetto.protos.AndroidTrustyWorkqueues\x12G\n\x14\x61ndroid_other_traces\x18- \x01(\x0b\x32).perfetto.protos.AndroidOtherTracesMetric\x12<\n\x0e\x61ndroid_binder\x18. \x01(\x0b\x32$.perfetto.protos.AndroidBinderMetric\x12R\n\x1d\x61ndroid_frame_timeline_metric\x18/ \x01(\x0b\x32+.perfetto.protos.AndroidFrameTimelineMetric\x12Y\n!android_blocking_calls_cuj_metric\x18\x31 \x01(\x0b\x32..perfetto.protos.AndroidBlockingCallsCujMetric\x12S\n\x1a\x61ndroid_monitor_contention\x18\x32 \x01(\x0b\x32/.perfetto.protos.AndroidMonitorContentionMetric\x12x\n1android_sysui_notifications_blocking_calls_metric\x18\x33 \x01(\x0b\x32=.perfetto.protos.AndroidSysUINotificationsBlockingCallsMetric\x12;\n\rcodec_metrics\x18\x34 \x01(\x0b\x32$.perfetto.protos.AndroidCodecMetrics\x12.\n\nandroid_io\x18\x35 \x01(\x0b\x32\x1a.perfetto.protos.AndroidIo\x12@\n\x10\x61ndroid_io_unagg\x18\x36 \x01(\x0b\x32&.perfetto.protos.AndroidIoUnaggregated\x12\x36\n\x0b\x61ndroid_anr\x18\x37 \x01(\x0b\x32!.perfetto.protos.AndroidAnrMetric\x12Z\n\x1e\x61ndroid_monitor_contention_agg\x18\x38 \x01(\x0b\x32\x32.perfetto.protos.AndroidMonitorContentionAggMetric\x12\x38\n\x0c\x61ndroid_boot\x18\x39 \x01(\x0b\x32\".perfetto.protos.AndroidBootMetric\x12=\n\x12\x61\x64_services_metric\x18: \x01(\x0b\x32!.perfetto.protos.AdServicesMetric\x12`\n%sysui_notif_shade_list_builder_metric\x18; \x01(\x0b\x32\x31.perfetto.protos.SysuiNotifShadeListBuilderMetric\x12l\n,sysui_update_notif_on_ui_mode_changed_metric\x18< \x01(\x0b\x32\x36.perfetto.protos.SysuiUpdateNotifOnUiModeChangedMetric\x12R\n\x1a\x61ndroid_app_process_starts\x18= \x01(\x0b\x32..perfetto.protos.AndroidAppProcessStartsMetric\x12=\n\x12\x61ndroid_boot_unagg\x18> \x01(\x0b\x32!.perfetto.protos.AndroidBootUnagg\x12^\n android_garbage_collection_unagg\x18? \x01(\x0b\x32\x34.perfetto.protos.AndroidGarbageCollectionUnaggMetric\x12K\n\x16\x61ndroid_auto_multiuser\x18@ \x01(\x0b\x32+.perfetto.protos.AndroidAutoMultiuserMetric\x12P\n\x1c\x61ndroid_blocking_calls_unagg\x18\x41 \x01(\x0b\x32*.perfetto.protos.AndroidBlockingCallsUnagg\x12G\n\x14\x61ndroid_oom_adjuster\x18\x42 \x01(\x0b\x32).perfetto.protos.AndroidOomAdjusterMetric\x12\x44\n\x12\x61ndroid_broadcasts\x18\x44 \x01(\x0b\x32(.perfetto.protos.AndroidBroadcastsMetric\x12R\n\x19wattson_app_startup_rails\x18\x45 \x01(\x0b\x32/.perfetto.protos.AndroidWattsonTimePeriodMetric\x12L\n\x13wattson_trace_rails\x18\x46 \x01(\x0b\x32/.perfetto.protos.AndroidWattsonTimePeriodMetric\x12>\n\x0f\x61ndroid_anomaly\x18G \x01(\x0b\x32%.perfetto.protos.AndroidAnomalyMetric\x12T\n\x15wattson_trace_threads\x18H \x01(\x0b\x32\x35.perfetto.protos.AndroidWattsonTasksAttributionMetric\x12V\n\x17wattson_markers_threads\x18I \x01(\x0b\x32\x35.perfetto.protos.AndroidWattsonTasksAttributionMetric\x12N\n\x15wattson_markers_rails\x18J \x01(\x0b\x32/.perfetto.protos.AndroidWattsonTimePeriodMetric*\x06\x08\xc2\x03\x10\xf4\x03*\x06\x08\xf4\x03\x10\xe9\x07*\x06\x08\xe9\x07\x10\xd1\x0f*\x06\x08\xd1\x0f\x10\xc5\x13J\x04\x08\x04\x10\x05J\x04\x08\n\x10\x0bJ\x04\x08\r\x10\x0eJ\x04\x08\x0e\x10\x0fJ\x04\x08\x10\x10\x11J\x04\x08\x13\x10\x14J\x04\x08\x18\x10\x19J\x04\x08\x1b\x10\x1cJ\x04\x08\x1d\x10\x1e') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.metrics_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACEMETADATA']._serialized_start=3542 + _globals['_TRACEMETADATA']._serialized_end=3849 + _globals['_TRACEANALYSISSTATS']._serialized_start=3852 + _globals['_TRACEANALYSISSTATS']._serialized_end=4269 + _globals['_TRACEANALYSISSTATS_STAT']._serialized_start=3931 + _globals['_TRACEANALYSISSTATS_STAT']._serialized_end=4103 + _globals['_TRACEANALYSISSTATS_SEVERITY']._serialized_start=4105 + _globals['_TRACEANALYSISSTATS_SEVERITY']._serialized_end=4200 + _globals['_TRACEANALYSISSTATS_SOURCE']._serialized_start=4202 + _globals['_TRACEANALYSISSTATS_SOURCE']._serialized_end=4269 + _globals['_TRACEMETRICS']._serialized_start=4272 + _globals['_TRACEMETRICS']._serialized_end=8947 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/perfetto_merged_metrics_pb2.py b/lglpy/timeline/protos/perfetto/metrics/perfetto_merged_metrics_pb2.py new file mode 100644 index 0000000..d0f4d89 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/perfetto_merged_metrics_pb2.py @@ -0,0 +1,483 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/perfetto_merged_metrics.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/perfetto_merged_metrics.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5protos/perfetto/metrics/perfetto_merged_metrics.proto\x12\x0fperfetto.protos\"\xc8\x02\n\x12\x41\x64ServicesUiMetric\x12-\n%common_service_initialization_latency\x18\x01 \x01(\x01\x12/\n\'common_service_permission_check_latency\x18\x02 \x01(\x01\x12-\n%common_service_ux_engine_flow_latency\x18\x03 \x01(\x01\x12&\n\x1emain_activity_creation_latency\x18\x04 \x01(\x01\x12.\n&consent_manager_initialization_latency\x18\x05 \x01(\x01\x12$\n\x1c\x63onsent_manager_read_latency\x18\x06 \x01(\x01\x12%\n\x1d\x63onsent_manager_write_latency\x18\x07 \x01(\x01\"\'\n\x14\x41\x64ServicesAdIdMetric\x12\x0f\n\x07latency\x18\x01 \x01(\x01\"+\n\x18\x41\x64ServicesAppSetIdMetric\x12\x0f\n\x07latency\x18\x01 \x01(\x01\"\xf0\x01\n\x1dOnDevicePersonalizationMetric\x12/\n\'managing_service_initialization_latency\x18\x01 \x01(\x01\x12-\n%service_delegate_execute_flow_latency\x18\x02 \x01(\x01\x12\x38\n0service_delegate_request_surface_package_latency\x18\x03 \x01(\x01\x12\x35\n-service_delegate_register_web_trigger_latency\x18\x04 \x01(\x01\"\x91\x02\n\x10\x41\x64ServicesMetric\x12\x36\n\tui_metric\x18\x01 \x03(\x0b\x32#.perfetto.protos.AdServicesUiMetric\x12;\n\x0c\x61\x64_id_metric\x18\x02 \x03(\x0b\x32%.perfetto.protos.AdServicesAdIdMetric\x12\x44\n\x11\x61pp_set_id_metric\x18\x03 \x03(\x0b\x32).perfetto.protos.AdServicesAppSetIdMetric\x12\x42\n\nodp_metric\x18\x04 \x03(\x0b\x32..perfetto.protos.OnDevicePersonalizationMetric\"\xdb\x03\n\x14\x41ndroidAnomalyMetric\x12<\n\x06\x62inder\x18\x01 \x01(\x0b\x32,.perfetto.protos.AndroidAnomalyMetric.Binder\x1a|\n\x0eProcessAnomaly\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x38\n\x04unit\x18\x03 \x01(\x0e\x32*.perfetto.protos.AndroidAnomalyMetric.Unit\x12\r\n\x05value\x18\x04 \x01(\r\x1a\xd2\x01\n\x06\x42inder\x12\x63\n%max_incoming_process_count_per_second\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidAnomalyMetric.ProcessAnomaly\x12\x63\n%max_outgoing_process_count_per_second\x18\x02 \x03(\x0b\x32\x34.perfetto.protos.AndroidAnomalyMetric.ProcessAnomaly\"2\n\x04Unit\x12\x14\n\x10UNIT_UNSPECIFIED\x10\x00\x12\x14\n\x10\x43OUNT_PER_SECOND\x10\x01\"\xd4\x01\n\x13\x41ndroidBlockingCall\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63nt\x18\x02 \x01(\x03\x12\x14\n\x0ctotal_dur_ms\x18\x03 \x01(\x03\x12\x12\n\nmax_dur_ms\x18\x04 \x01(\x03\x12\x12\n\nmin_dur_ms\x18\x05 \x01(\x03\x12\x14\n\x0ctotal_dur_ns\x18\x06 \x01(\x03\x12\x12\n\nmax_dur_ns\x18\x07 \x01(\x03\x12\x12\n\nmin_dur_ns\x18\x08 \x01(\x03\x12\x12\n\navg_dur_ms\x18\t \x01(\x03\x12\x12\n\navg_dur_ns\x18\n \x01(\x03\"\xef\x01\n\x16\x41ndroidProcessMetadata\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x03\x12@\n\x07package\x18\x07 \x01(\x0b\x32/.perfetto.protos.AndroidProcessMetadata.Package\x12\x0b\n\x03pid\x18\t \x01(\x03\x1aM\n\x07Package\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x18\n\x10\x61pk_version_code\x18\x02 \x01(\x03\x12\x12\n\ndebuggable\x18\x03 \x01(\x08J\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x08\x10\t\"\x93\x02\n\x1d\x41ndroidBlockingCallsCujMetric\x12?\n\x03\x63uj\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.AndroidBlockingCallsCujMetric.Cuj\x1a\xb0\x01\n\x03\x43uj\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x38\n\x07process\x18\x03 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12\n\n\x02ts\x18\x04 \x01(\x03\x12\x0b\n\x03\x64ur\x18\x05 \x01(\x03\x12<\n\x0e\x62locking_calls\x18\x06 \x03(\x0b\x32$.perfetto.protos.AndroidBlockingCall\"\x9a\x02\n\x19\x41ndroidBlockingCallsUnagg\x12h\n\x1bprocess_with_blocking_calls\x18\x01 \x03(\x0b\x32\x43.perfetto.protos.AndroidBlockingCallsUnagg.ProcessWithBlockingCalls\x1a\x92\x01\n\x18ProcessWithBlockingCalls\x12\x38\n\x07process\x18\x01 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12<\n\x0e\x62locking_calls\x18\x02 \x03(\x0b\x32$.perfetto.protos.AndroidBlockingCall\"M\n\x15ProcessStateDurations\x12\x11\n\ttotal_dur\x18\x02 \x01(\x03\x12!\n\x19uninterruptible_sleep_dur\x18\x03 \x01(\x03\"\xbe\x17\n\x11\x41ndroidBootMetric\x12G\n\x17system_server_durations\x18\x01 \x01(\x0b\x32&.perfetto.protos.ProcessStateDurations\x12\x42\n\x12systemui_durations\x18\x02 \x01(\x0b\x32&.perfetto.protos.ProcessStateDurations\x12\x42\n\x12launcher_durations\x18\x03 \x01(\x0b\x32&.perfetto.protos.ProcessStateDurations\x12=\n\rgms_durations\x18\x04 \x01(\x0b\x32&.perfetto.protos.ProcessStateDurations\x12P\n\x12launcher_breakdown\x18\x05 \x01(\x0b\x32\x34.perfetto.protos.AndroidBootMetric.LauncherBreakdown\x12h\n$full_trace_process_start_aggregation\x18\x06 \x01(\x0b\x32:.perfetto.protos.AndroidBootMetric.ProcessStartAggregation\x12g\n#post_boot_process_start_aggregation\x18\x07 \x01(\x0b\x32:.perfetto.protos.AndroidBootMetric.ProcessStartAggregation\x12\x62\n\x19\x66ull_trace_gc_aggregation\x18\x08 \x01(\x0b\x32?.perfetto.protos.AndroidBootMetric.GarbageCollectionAggregation\x12\x61\n\x18post_boot_gc_aggregation\x18\t \x01(\x0b\x32?.perfetto.protos.AndroidBootMetric.GarbageCollectionAggregation\x12w\n/post_boot_oom_adjuster_transition_counts_global\x18\n \x03(\x0b\x32>.perfetto.protos.AndroidBootMetric.OomAdjusterTransitionCounts\x12{\n3post_boot_oom_adjuster_transition_counts_by_process\x18\x0b \x03(\x0b\x32>.perfetto.protos.AndroidBootMetric.OomAdjusterTransitionCounts\x12\x82\x01\n:post_boot_oom_adjuster_transition_counts_by_oom_adj_reason\x18\x0c \x03(\x0b\x32>.perfetto.protos.AndroidBootMetric.OomAdjusterTransitionCounts\x12x\n,post_boot_oom_adj_bucket_duration_agg_global\x18\r \x03(\x0b\x32\x42.perfetto.protos.AndroidBootMetric.OomAdjBucketDurationAggregation\x12|\n0post_boot_oom_adj_bucket_duration_agg_by_process\x18\x0e \x03(\x0b\x32\x42.perfetto.protos.AndroidBootMetric.OomAdjBucketDurationAggregation\x12\x64\n\x1epost_boot_oom_adj_duration_agg\x18\x0f \x03(\x0b\x32<.perfetto.protos.AndroidBootMetric.OomAdjDurationAggregation\x12q\n+post_boot_broadcast_process_count_by_intent\x18\x10 \x03(\x0b\x32<.perfetto.protos.AndroidBootMetric.BroadcastCountAggregation\x12j\n$post_boot_broadcast_count_by_process\x18\x11 \x03(\x0b\x32<.perfetto.protos.AndroidBootMetric.BroadcastCountAggregation\x12r\n)post_boot_brodcast_duration_agg_by_intent\x18\x12 \x03(\x0b\x32?.perfetto.protos.AndroidBootMetric.BroadcastDurationAggregation\x12s\n*post_boot_brodcast_duration_agg_by_process\x18\x13 \x03(\x0b\x32?.perfetto.protos.AndroidBootMetric.BroadcastDurationAggregation\x1a+\n\x11LauncherBreakdown\x12\x16\n\x0e\x63old_start_dur\x18\x01 \x01(\x03\x1ah\n\x17ProcessStartAggregation\x12\x17\n\x0ftotal_start_sum\x18\x01 \x01(\x03\x12\x18\n\x10num_of_processes\x18\x02 \x01(\x03\x12\x1a\n\x12\x61verage_start_time\x18\x03 \x01(\x01\x1a\xf3\x02\n\x1cGarbageCollectionAggregation\x12\x16\n\x0etotal_gc_count\x18\x01 \x01(\x03\x12 \n\x18num_of_processes_with_gc\x18\x02 \x01(\x03\x12\x1e\n\x16num_of_threads_with_gc\x18\x03 \x01(\x03\x12\x17\n\x0f\x61vg_gc_duration\x18\x04 \x01(\x01\x12\x1f\n\x17\x61vg_running_gc_duration\x18\x05 \x01(\x01\x12\x15\n\rfull_gc_count\x18\x06 \x01(\x03\x12%\n\x1d\x63ollector_transition_gc_count\x18\x07 \x01(\x03\x12\x16\n\x0eyoung_gc_count\x18\x08 \x01(\x03\x12\x1d\n\x15native_alloc_gc_count\x18\t \x01(\x03\x12\x19\n\x11\x65xplicit_gc_count\x18\n \x01(\x03\x12\x16\n\x0e\x61lloc_gc_count\x18\x0b \x01(\x03\x12\x17\n\x0fmb_per_ms_of_gc\x18\x0c \x01(\x01\x1a\x63\n\x1bOomAdjusterTransitionCounts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nsrc_bucket\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65st_bucket\x18\x03 \x01(\t\x12\r\n\x05\x63ount\x18\x04 \x01(\x03\x1aR\n\x1fOomAdjBucketDurationAggregation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12\x11\n\ttotal_dur\x18\x03 \x01(\x03\x1a\x9b\x01\n\x19OomAdjDurationAggregation\x12\x17\n\x0fmin_oom_adj_dur\x18\x01 \x01(\x03\x12\x17\n\x0fmax_oom_adj_dur\x18\x02 \x01(\x03\x12\x17\n\x0f\x61vg_oom_adj_dur\x18\x03 \x01(\x01\x12\x1b\n\x13oom_adj_event_count\x18\x04 \x01(\x03\x12\x16\n\x0eoom_adj_reason\x18\x05 \x01(\t\x1a\x38\n\x19\x42roadcastCountAggregation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x03\x1an\n\x1c\x42roadcastDurationAggregation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x61vg_duration\x18\x02 \x01(\x01\x12\x14\n\x0cmax_duration\x18\x03 \x01(\x03\x12\x14\n\x0csum_duration\x18\x04 \x01(\x03\"\xc2\x04\n#AndroidGarbageCollectionUnaggMetric\x12^\n\tgc_events\x18\x01 \x03(\x0b\x32K.perfetto.protos.AndroidGarbageCollectionUnaggMetric.GarbageCollectionEvent\x1a\xba\x03\n\x16GarbageCollectionEvent\x12\x13\n\x0bthread_name\x18\x01 \x01(\t\x12\x14\n\x0cprocess_name\x18\x02 \x01(\t\x12\x0f\n\x07gc_type\x18\x03 \x01(\t\x12\x17\n\x0fis_mark_compact\x18\x04 \x01(\x03\x12\x14\n\x0creclaimed_mb\x18\x05 \x01(\x01\x12\x13\n\x0bmin_heap_mb\x18\x06 \x01(\x01\x12\x13\n\x0bmax_heap_mb\x18\x07 \x01(\x01\x12\x1f\n\x17mb_per_ms_of_running_gc\x18\x08 \x01(\x01\x12\x1c\n\x14mb_per_ms_of_wall_gc\x18\t \x01(\x01\x12\x0e\n\x06gc_dur\x18\n \x01(\x03\x12\x16\n\x0egc_running_dur\x18\x0b \x01(\x03\x12\x17\n\x0fgc_runnable_dur\x18\x0c \x01(\x03\x12\x17\n\x0fgc_unint_io_dur\x18\r \x01(\x03\x12\x1b\n\x13gc_unint_non_io_dur\x18\x0e \x01(\x03\x12\x12\n\ngc_int_dur\x18\x0f \x01(\x03\x12\r\n\x05gc_ts\x18\x10 \x01(\x03\x12\x0b\n\x03pid\x18\x11 \x01(\x03\x12\x0b\n\x03tid\x18\x12 \x01(\x03\x12\x18\n\x10gc_monotonic_dur\x18\x13 \x01(\x03\"\xbe\x03\n\x1d\x41ndroidAppProcessStartsMetric\x12M\n\x08\x61ll_apps\x18\x01 \x03(\x0b\x32;.perfetto.protos.AndroidAppProcessStartsMetric.ProcessStart\x12Y\n\x14started_by_broadcast\x18\x02 \x03(\x0b\x32;.perfetto.protos.AndroidAppProcessStartsMetric.ProcessStart\x12W\n\x12started_by_service\x18\x03 \x03(\x0b\x32;.perfetto.protos.AndroidAppProcessStartsMetric.ProcessStart\x1a\x99\x01\n\x0cProcessStart\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12\x0e\n\x06intent\x18\x02 \x01(\t\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12\x16\n\x0eproc_start_dur\x18\x04 \x01(\x03\x12\x14\n\x0c\x62ind_app_dur\x18\x05 \x01(\x03\x12\x12\n\nintent_dur\x18\x06 \x01(\x03\x12\x11\n\ttotal_dur\x18\x07 \x01(\x03\"\xc7\x01\n\x10\x41ndroidBootUnagg\x12X\n android_app_process_start_metric\x18\x01 \x01(\x0b\x32..perfetto.protos.AndroidAppProcessStartsMetric\x12Y\n\x1b\x61ndroid_post_boot_gc_metric\x18\x02 \x01(\x0b\x32\x34.perfetto.protos.AndroidGarbageCollectionUnaggMetric\"\xf1\x04\n\x17\x41ndroidBroadcastsMetric\x12\x63\n\x17process_count_by_intent\x18\x01 \x03(\x0b\x32\x42.perfetto.protos.AndroidBroadcastsMetric.BroadcastCountAggregation\x12\x66\n\x1a\x62roadcast_count_by_process\x18\x02 \x03(\x0b\x32\x42.perfetto.protos.AndroidBroadcastsMetric.BroadcastCountAggregation\x12n\n\x1f\x62rodcast_duration_agg_by_intent\x18\x03 \x03(\x0b\x32\x45.perfetto.protos.AndroidBroadcastsMetric.BroadcastDurationAggregation\x12o\n brodcast_duration_agg_by_process\x18\x04 \x03(\x0b\x32\x45.perfetto.protos.AndroidBroadcastsMetric.BroadcastDurationAggregation\x1a\x38\n\x19\x42roadcastCountAggregation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x03\x1an\n\x1c\x42roadcastDurationAggregation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x61vg_duration\x18\x02 \x01(\x01\x12\x14\n\x0cmax_duration\x18\x03 \x01(\x03\x12\x14\n\x0csum_duration\x18\x04 \x01(\x03\"\x90\x08\n\x1a\x41ndroidFrameTimelineMetric\x12\x14\n\x0ctotal_frames\x18\x04 \x01(\x03\x12\x19\n\x11missed_app_frames\x18\x05 \x01(\x03\x12\x16\n\x0e\x64ropped_frames\x18\x06 \x01(\x03\x12M\n\x07process\x18\x02 \x03(\x0b\x32<.perfetto.protos.AndroidFrameTimelineMetric.ProcessBreakdown\x12N\n\njank_types\x18\x07 \x03(\x0b\x32:.perfetto.protos.AndroidFrameTimelineMetric.JankTypeMetric\x1a\xec\x01\n\x0eJankTypeMetric\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x13\n\x0btotal_count\x18\x02 \x01(\x03\x12!\n\x19present_unspecified_count\x18\x03 \x01(\x03\x12\x1d\n\x15present_on_time_count\x18\x04 \x01(\x03\x12\x1a\n\x12present_late_count\x18\x05 \x01(\x03\x12\x1b\n\x13present_early_count\x18\x06 \x01(\x03\x12\x1d\n\x15present_dropped_count\x18\x07 \x01(\x03\x12\x1d\n\x15present_unknown_count\x18\x08 \x01(\x03\x1a\x94\x04\n\x10ProcessBreakdown\x12\x38\n\x07process\x18\x03 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12\x14\n\x0ctotal_frames\x18\x04 \x01(\x03\x12\x15\n\rmissed_frames\x18\x05 \x01(\x03\x12\x19\n\x11missed_app_frames\x18\x06 \x01(\x03\x12\x18\n\x10missed_sf_frames\x18\x07 \x01(\x03\x12\x15\n\rframe_dur_max\x18\x08 \x01(\x03\x12\x15\n\rframe_dur_avg\x18\t \x01(\x03\x12\x15\n\rframe_dur_p50\x18\n \x01(\x03\x12\x15\n\rframe_dur_p90\x18\x0b \x01(\x03\x12\x15\n\rframe_dur_p95\x18\x0c \x01(\x03\x12\x15\n\rframe_dur_p99\x18\r \x01(\x03\x12\x18\n\x10\x66rame_dur_ms_p50\x18\x0e \x01(\x01\x12\x18\n\x10\x66rame_dur_ms_p90\x18\x0f \x01(\x01\x12\x18\n\x10\x66rame_dur_ms_p95\x18\x10 \x01(\x01\x12\x18\n\x10\x66rame_dur_ms_p99\x18\x11 \x01(\x01\x12\x16\n\x0e\x64ropped_frames\x18\x12 \x01(\x03\x12N\n\njank_types\x18\x13 \x03(\x0b\x32:.perfetto.protos.AndroidFrameTimelineMetric.JankTypeMetricJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x01\x10\x02\"\xb7\x08\n\x18\x41ndroidOomAdjusterMetric\x12t\n%oom_adjuster_transition_counts_global\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.AndroidOomAdjusterMetric.OomAdjusterTransitionCounts\x12x\n)oom_adjuster_transition_counts_by_process\x18\x02 \x03(\x0b\x32\x45.perfetto.protos.AndroidOomAdjusterMetric.OomAdjusterTransitionCounts\x12\x7f\n0oom_adjuster_transition_counts_by_oom_adj_reason\x18\x03 \x03(\x0b\x32\x45.perfetto.protos.AndroidOomAdjusterMetric.OomAdjusterTransitionCounts\x12u\n\"oom_adj_bucket_duration_agg_global\x18\x04 \x03(\x0b\x32I.perfetto.protos.AndroidOomAdjusterMetric.OomAdjBucketDurationAggregation\x12y\n&oom_adj_bucket_duration_agg_by_process\x18\x05 \x03(\x0b\x32I.perfetto.protos.AndroidOomAdjusterMetric.OomAdjBucketDurationAggregation\x12\x61\n\x14oom_adj_duration_agg\x18\x06 \x03(\x0b\x32\x43.perfetto.protos.AndroidOomAdjusterMetric.OomAdjDurationAggregation\x1a\x63\n\x1bOomAdjusterTransitionCounts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nsrc_bucket\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65st_bucket\x18\x03 \x01(\t\x12\r\n\x05\x63ount\x18\x04 \x01(\x03\x1aR\n\x1fOomAdjBucketDurationAggregation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12\x11\n\ttotal_dur\x18\x03 \x01(\x03\x1a\x9b\x01\n\x19OomAdjDurationAggregation\x12\x17\n\x0fmin_oom_adj_dur\x18\x01 \x01(\x03\x12\x17\n\x0fmax_oom_adj_dur\x18\x02 \x01(\x03\x12\x17\n\x0f\x61vg_oom_adj_dur\x18\x03 \x01(\x01\x12\x1b\n\x13oom_adj_event_count\x18\x04 \x01(\x03\x12\x16\n\x0eoom_adj_reason\x18\x05 \x01(\t\"l\n,AndroidSysUINotificationsBlockingCallsMetric\x12<\n\x0e\x62locking_calls\x18\x01 \x03(\x0b\x32$.perfetto.protos.AndroidBlockingCall\"\x19\n\x17\x41ndroidTrustyWorkqueues\"\x9f\x01\n\x10\x41ndroidAnrMetric\x12\x32\n\x03\x61nr\x18\x01 \x03(\x0b\x32%.perfetto.protos.AndroidAnrMetric.Anr\x1aW\n\x03\x41nr\x12\x10\n\x08\x65rror_id\x18\x01 \x01(\t\x12\x14\n\x0cprocess_name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\x05\x12\x0f\n\x07subject\x18\x04 \x01(\t\x12\n\n\x02ts\x18\x05 \x01(\x03\"\xf7\x02\n\x1a\x41ndroidAutoMultiuserMetric\x12J\n\x0buser_switch\x18\x01 \x03(\x0b\x32\x35.perfetto.protos.AndroidAutoMultiuserMetric.EventData\x1a\x8c\x02\n\tEventData\x12\x0f\n\x07user_id\x18\x01 \x01(\x05\x12\x13\n\x0bstart_event\x18\x02 \x01(\t\x12\x11\n\tend_event\x18\x03 \x01(\t\x12\x13\n\x0b\x64uration_ms\x18\x04 \x01(\x03\x12Z\n\x12previous_user_info\x18\x05 \x01(\x0b\x32>.perfetto.protos.AndroidAutoMultiuserMetric.EventData.UserData\x1aU\n\x08UserData\x12\x0f\n\x07user_id\x18\x01 \x01(\x05\x12\x19\n\x11total_cpu_time_ms\x18\x02 \x01(\x03\x12\x1d\n\x15total_memory_usage_kb\x18\x03 \x01(\x03\"\xc2\x05\n\x14\x41ndroidBatteryMetric\x12O\n\x10\x62\x61ttery_counters\x18\x01 \x03(\x0b\x32\x35.perfetto.protos.AndroidBatteryMetric.BatteryCounters\x12S\n\x12\x62\x61ttery_aggregates\x18\x02 \x01(\x0b\x32\x37.perfetto.protos.AndroidBatteryMetric.BatteryAggregates\x12K\n\x0esuspend_period\x18\x03 \x03(\x0b\x32\x33.perfetto.protos.AndroidBatteryMetric.SuspendPeriod\x1a\x89\x01\n\x0f\x42\x61tteryCounters\x12\x14\n\x0ctimestamp_ns\x18\x01 \x01(\x03\x12\x1a\n\x12\x63harge_counter_uah\x18\x02 \x01(\x01\x12\x18\n\x10\x63\x61pacity_percent\x18\x03 \x01(\x02\x12\x12\n\ncurrent_ua\x18\x04 \x01(\x01\x12\x16\n\x0e\x63urrent_avg_ua\x18\x05 \x01(\x01\x1a\xee\x01\n\x11\x42\x61tteryAggregates\x12\x1b\n\x13total_screen_off_ns\x18\x01 \x01(\x03\x12\x1a\n\x12total_screen_on_ns\x18\x02 \x01(\x03\x12\x1c\n\x14total_screen_doze_ns\x18\x03 \x01(\x03\x12\x19\n\x11total_wakelock_ns\x18\x04 \x01(\x03\x12\x10\n\x08sleep_ns\x18\x05 \x01(\x03\x12\x1b\n\x13sleep_screen_off_ns\x18\x06 \x01(\x03\x12\x1a\n\x12sleep_screen_on_ns\x18\x07 \x01(\x03\x12\x1c\n\x14sleep_screen_doze_ns\x18\x08 \x01(\x03\x1a:\n\rSuspendPeriod\x12\x14\n\x0ctimestamp_ns\x18\x01 \x01(\x03\x12\x13\n\x0b\x64uration_ns\x18\x02 \x01(\x03\"\x9e\x0c\n\x13\x41ndroidBinderMetric\x12S\n\x11process_breakdown\x18\x01 \x03(\x0b\x32\x38.perfetto.protos.AndroidBinderMetric.PerProcessBreakdown\x12\x61\n\x1aunaggregated_txn_breakdown\x18\x02 \x03(\x0b\x32=.perfetto.protos.AndroidBinderMetric.UnaggregatedTxnBreakdown\x1a[\n\x13PerProcessBreakdown\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\r\x12\x12\n\nslice_name\x18\x03 \x01(\t\x12\r\n\x05\x63ount\x18\x04 \x01(\r\x1a\x89\x07\n\x18UnaggregatedTxnBreakdown\x12\x11\n\taidl_name\x18\x01 \x01(\t\x12\x0f\n\x07\x61idl_ts\x18\x16 \x01(\x03\x12\x10\n\x08\x61idl_dur\x18\x17 \x01(\x03\x12\x0f\n\x07is_sync\x18\x15 \x01(\x08\x12\x16\n\x0e\x63lient_process\x18\x03 \x01(\t\x12\x15\n\rclient_thread\x18\x04 \x01(\t\x12\x16\n\x0eis_main_thread\x18\x05 \x01(\x08\x12\x11\n\tclient_ts\x18\x06 \x01(\x03\x12\x12\n\nclient_dur\x18\x07 \x01(\x03\x12\x1c\n\x14\x63lient_monotonic_dur\x18\x1c \x01(\x03\x12\x18\n\x10\x63lient_oom_score\x18\x13 \x01(\x03\x12#\n\x1b\x63lient_package_version_code\x18\x18 \x01(\x03\x12$\n\x1cis_client_package_debuggable\x18\x19 \x01(\x08\x12\x16\n\x0eserver_process\x18\t \x01(\t\x12\x15\n\rserver_thread\x18\n \x01(\t\x12\x11\n\tserver_ts\x18\x0b \x01(\x03\x12\x12\n\nserver_dur\x18\x0c \x01(\x03\x12\x1c\n\x14server_monotonic_dur\x18\x1d \x01(\x03\x12\x18\n\x10server_oom_score\x18\x14 \x01(\x03\x12#\n\x1bserver_package_version_code\x18\x1a \x01(\x03\x12$\n\x1cis_server_package_debuggable\x18\x1b \x01(\x08\x12P\n\rthread_states\x18\r \x03(\x0b\x32\x39.perfetto.protos.AndroidBinderMetric.ThreadStateBreakdown\x12X\n\x11\x62locked_functions\x18\x0e \x03(\x0b\x32=.perfetto.protos.AndroidBinderMetric.BlockedFunctionBreakdown\x12T\n\x0flogical_reasons\x18\x1f \x03(\x0b\x32;.perfetto.protos.AndroidBinderMetric.LogicalReasonBreakdown\x12\x12\n\nclient_tid\x18\x0f \x01(\r\x12\x12\n\nserver_tid\x18\x10 \x01(\r\x12\x12\n\nclient_pid\x18\x11 \x01(\r\x12\x12\n\nserver_pid\x18\x12 \x01(\rJ\x04\x08\x02\x10\x03J\x04\x08\x08\x10\t\x1a}\n\x14ThreadStateBreakdown\x12\x19\n\x11thread_state_type\x18\x01 \x01(\t\x12\x14\n\x0cthread_state\x18\x02 \x01(\t\x12\x18\n\x10thread_state_dur\x18\x03 \x01(\x03\x12\x1a\n\x12thread_state_count\x18\x04 \x01(\x03\x1a\x8d\x01\n\x18\x42lockedFunctionBreakdown\x12\x19\n\x11thread_state_type\x18\x01 \x01(\t\x12\x18\n\x10\x62locked_function\x18\x02 \x01(\t\x12\x1c\n\x14\x62locked_function_dur\x18\x03 \x01(\x03\x12\x1e\n\x16\x62locked_function_count\x18\x04 \x01(\x03\x1aW\n\x16LogicalReasonBreakdown\x12\x19\n\x11thread_state_type\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12\x12\n\nreason_dur\x18\x03 \x01(\x03\"\x8d\x01\n\x13\x41ndroidCameraMetric\x12\x44\n\x0egc_rss_and_dma\x18\x01 \x01(\x0b\x32,.perfetto.protos.AndroidCameraMetric.Counter\x1a\x30\n\x07\x43ounter\x12\x0b\n\x03min\x18\x01 \x01(\x01\x12\x0b\n\x03max\x18\x02 \x01(\x01\x12\x0b\n\x03\x61vg\x18\x03 \x01(\x01\"\xee\x01\n\x1f\x41ndroidCameraUnaggregatedMetric\x12N\n\x0egc_rss_and_dma\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.AndroidCameraUnaggregatedMetric.Value\x1a{\n\x05Value\x12\n\n\x02ts\x18\x01 \x01(\x03\x12\x13\n\x0bgca_rss_val\x18\x02 \x01(\x01\x12\x13\n\x0bhal_rss_val\x18\x03 \x01(\x01\x12\x1c\n\x14\x63\x61meraserver_rss_val\x18\x04 \x01(\x01\x12\x0f\n\x07\x64ma_val\x18\x05 \x01(\x01\x12\r\n\x05value\x18\x06 \x01(\x01\"\x9f\x07\n\x10\x41ndroidCpuMetric\x12?\n\x0cprocess_info\x18\x01 \x03(\x0b\x32).perfetto.protos.AndroidCpuMetric.Process\x1ap\n\x07Metrics\x12\x0f\n\x07mcycles\x18\x01 \x01(\x03\x12\x12\n\nruntime_ns\x18\x02 \x01(\x03\x12\x14\n\x0cmin_freq_khz\x18\x03 \x01(\x03\x12\x14\n\x0cmax_freq_khz\x18\x04 \x01(\x03\x12\x14\n\x0c\x61vg_freq_khz\x18\x05 \x01(\x03\x1aX\n\x08\x43oreData\x12\n\n\x02id\x18\x01 \x01(\r\x12:\n\x07metrics\x18\x06 \x01(\x0b\x32).perfetto.protos.AndroidCpuMetric.MetricsJ\x04\x08\x02\x10\x06\x1aX\n\x0c\x43oreTypeData\x12\x0c\n\x04type\x18\x01 \x01(\t\x12:\n\x07metrics\x18\x02 \x01(\x0b\x32).perfetto.protos.AndroidCpuMetric.Metrics\x1a\xd5\x01\n\x06Thread\x12\x0c\n\x04name\x18\x01 \x01(\t\x12:\n\x07metrics\x18\x04 \x01(\x0b\x32).perfetto.protos.AndroidCpuMetric.Metrics\x12\x38\n\x04\x63ore\x18\x02 \x03(\x0b\x32*.perfetto.protos.AndroidCpuMetric.CoreData\x12\x41\n\tcore_type\x18\x05 \x03(\x0b\x32..perfetto.protos.AndroidCpuMetric.CoreTypeDataJ\x04\x08\x03\x10\x04\x1a\xcb\x02\n\x07Process\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x07process\x18\x08 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12:\n\x07metrics\x18\x04 \x01(\x0b\x32).perfetto.protos.AndroidCpuMetric.Metrics\x12\x39\n\x07threads\x18\x06 \x03(\x0b\x32(.perfetto.protos.AndroidCpuMetric.Thread\x12\x38\n\x04\x63ore\x18\x07 \x03(\x0b\x32*.perfetto.protos.AndroidCpuMetric.CoreData\x12\x41\n\tcore_type\x18\x05 \x03(\x0b\x32..perfetto.protos.AndroidCpuMetric.CoreTypeDataJ\x04\x08\x03\x10\x04\"\x97\x04\n\x13\x41ndroidCodecMetrics\x12@\n\tcpu_usage\x18\x01 \x03(\x0b\x32-.perfetto.protos.AndroidCodecMetrics.CpuUsage\x12J\n\x0e\x63odec_function\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.AndroidCodecMetrics.CodecFunction\x1aK\n\x06\x44\x65tail\x12\x13\n\x0bthread_name\x18\x01 \x01(\t\x12\x14\n\x0ctotal_cpu_ns\x18\x02 \x01(\x03\x12\x16\n\x0erunning_cpu_ns\x18\x03 \x01(\x03\x1ax\n\rCodecFunction\x12\x14\n\x0c\x63odec_string\x18\x01 \x01(\t\x12\x14\n\x0cprocess_name\x18\x02 \x01(\t\x12;\n\x06\x64\x65tail\x18\x03 \x01(\x0b\x32+.perfetto.protos.AndroidCodecMetrics.Detail\x1a\xaa\x01\n\x08\x43puUsage\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12\x13\n\x0bthread_name\x18\x02 \x01(\t\x12\x15\n\rthread_cpu_ns\x18\x06 \x01(\x03\x12\x13\n\x0bnum_threads\x18\x04 \x01(\r\x12\x41\n\tcore_data\x18\x05 \x03(\x0b\x32..perfetto.protos.AndroidCpuMetric.CoreTypeDataJ\x04\x08\x03\x10\x04\"\xe2\x03\n\x15\x41ndroidDisplayMetrics\x12\x1e\n\x16total_duplicate_frames\x18\x01 \x01(\r\x12\x1f\n\x17\x64uplicate_frames_logged\x18\x02 \x01(\r\x12 \n\x18total_dpu_underrun_count\x18\x03 \x01(\r\x12\x1d\n\x15refresh_rate_switches\x18\x04 \x01(\r\x12R\n\x12refresh_rate_stats\x18\x05 \x03(\x0b\x32\x36.perfetto.protos.AndroidDisplayMetrics.RefreshRateStat\x12S\n\x12update_power_state\x18\x06 \x01(\x0b\x32\x37.perfetto.protos.AndroidDisplayMetrics.UpdatePowerState\x1a\x64\n\x0fRefreshRateStat\x12\x18\n\x10refresh_rate_fps\x18\x01 \x01(\r\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x14\n\x0ctotal_dur_ms\x18\x03 \x01(\x01\x12\x12\n\navg_dur_ms\x18\x04 \x01(\x01\x1a\x38\n\x10UpdatePowerState\x12\x1e\n\x16\x61vg_runtime_micro_secs\x18\x02 \x01(\rJ\x04\x08\x01\x10\x02\"\x9f\x02\n\x14\x41ndroidDmaHeapMetric\x12\x16\n\x0e\x61vg_size_bytes\x18\x01 \x01(\x01\x12\x16\n\x0emin_size_bytes\x18\x02 \x01(\x01\x12\x16\n\x0emax_size_bytes\x18\x03 \x01(\x01\x12\x1e\n\x16total_alloc_size_bytes\x18\x04 \x01(\x01\x12\x19\n\x11total_delta_bytes\x18\x05 \x01(\x05\x12I\n\rprocess_stats\x18\x06 \x03(\x0b\x32\x32.perfetto.protos.AndroidDmaHeapMetric.ProcessStats\x1a\x39\n\x0cProcessStats\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65lta_bytes\x18\x02 \x01(\x05\"\x96\x02\n\x11\x41ndroidDvfsMetric\x12O\n\x10\x66req_residencies\x18\x01 \x03(\x0b\x32\x35.perfetto.protos.AndroidDvfsMetric.FrequencyResidency\x1aG\n\x08\x42\x61ndStat\x12\x12\n\nfreq_value\x18\x01 \x01(\x05\x12\x12\n\npercentage\x18\x02 \x01(\x01\x12\x13\n\x0b\x64uration_ns\x18\x03 \x01(\x03\x1ag\n\x12\x46requencyResidency\x12\x11\n\tfreq_name\x18\x01 \x01(\t\x12>\n\tband_stat\x18\x02 \x03(\x0b\x32+.perfetto.protos.AndroidDvfsMetric.BandStat\"\xde\x01\n\x14\x41ndroidFastrpcMetric\x12\x42\n\tsubsystem\x18\x01 \x03(\x0b\x32/.perfetto.protos.AndroidFastrpcMetric.Subsystem\x1a\x81\x01\n\tSubsystem\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0e\x61vg_size_bytes\x18\x02 \x01(\x01\x12\x16\n\x0emin_size_bytes\x18\x03 \x01(\x01\x12\x16\n\x0emax_size_bytes\x18\x04 \x01(\x01\x12\x1e\n\x16total_alloc_size_bytes\x18\x05 \x01(\x01\"\xba\x03\n\nG2dMetrics\x12\x35\n\x06g2d_hw\x18\x01 \x01(\x0b\x32%.perfetto.protos.G2dMetrics.G2dMetric\x12\x35\n\x06g2d_sw\x18\x02 \x01(\x0b\x32%.perfetto.protos.G2dMetrics.G2dMetric\x1a\x87\x01\n\x0bG2dInstance\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x66rame_count\x18\x05 \x01(\r\x12\x13\n\x0b\x65rror_count\x18\x06 \x01(\r\x12\x12\n\nmax_dur_ms\x18\x07 \x01(\x01\x12\x12\n\nmin_dur_ms\x18\x08 \x01(\x01\x12\x12\n\navg_dur_ms\x18\t \x01(\x01J\x04\x08\x02\x10\x05\x1a\xb3\x01\n\tG2dMetric\x12:\n\tinstances\x18\x01 \x03(\x0b\x32\'.perfetto.protos.G2dMetrics.G2dInstance\x12\x13\n\x0b\x66rame_count\x18\x05 \x01(\r\x12\x13\n\x0b\x65rror_count\x18\x06 \x01(\r\x12\x12\n\nmax_dur_ms\x18\x07 \x01(\x01\x12\x12\n\nmin_dur_ms\x18\x08 \x01(\x01\x12\x12\n\navg_dur_ms\x18\t \x01(\x01J\x04\x08\x02\x10\x05\"\x96\x04\n\x10\x41ndroidGpuMetric\x12<\n\tprocesses\x18\x01 \x03(\x0b\x32).perfetto.protos.AndroidGpuMetric.Process\x12\x0f\n\x07mem_max\x18\x02 \x01(\x03\x12\x0f\n\x07mem_min\x18\x03 \x01(\x03\x12\x0f\n\x07mem_avg\x18\x04 \x01(\x03\x12G\n\x0c\x66req_metrics\x18\x05 \x03(\x0b\x32\x31.perfetto.protos.AndroidGpuMetric.FrequencyMetric\x1aJ\n\x07Process\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07mem_max\x18\x02 \x01(\x03\x12\x0f\n\x07mem_min\x18\x03 \x01(\x03\x12\x0f\n\x07mem_avg\x18\x04 \x01(\x03\x1a\xfb\x01\n\x0f\x46requencyMetric\x12\x0e\n\x06gpu_id\x18\x01 \x01(\r\x12\x10\n\x08\x66req_max\x18\x02 \x01(\x03\x12\x10\n\x08\x66req_min\x18\x03 \x01(\x03\x12\x10\n\x08\x66req_avg\x18\x04 \x01(\x01\x12Y\n\nused_freqs\x18\x05 \x03(\x0b\x32\x45.perfetto.protos.AndroidGpuMetric.FrequencyMetric.MetricsPerFrequency\x1aG\n\x13MetricsPerFrequency\x12\x0c\n\x04\x66req\x18\x01 \x01(\x03\x12\x0e\n\x06\x64ur_ms\x18\x02 \x01(\x01\x12\x12\n\npercentage\x18\x03 \x01(\x01\"\xf3\n\n\x18\x41ndroidHwcomposerMetrics\x12 \n\x18\x63omposition_total_layers\x18\x01 \x01(\x01\x12\x1e\n\x16\x63omposition_dpu_layers\x18\x02 \x01(\x01\x12\x1e\n\x16\x63omposition_gpu_layers\x18\x03 \x01(\x01\x12%\n\x1d\x63omposition_dpu_cached_layers\x18\x04 \x01(\x01\x12$\n\x1c\x63omposition_sf_cached_layers\x18\x05 \x01(\x01\x12\x1e\n\x16\x63omposition_rcd_layers\x18\x0f \x01(\x01\x12 \n\x18skipped_validation_count\x18\x06 \x01(\x05\x12\"\n\x1aunskipped_validation_count\x18\x07 \x01(\x05\x12\"\n\x1aseparated_validation_count\x18\x08 \x01(\x05\x12 \n\x18unknown_validation_count\x18\t \x01(\x05\x12!\n\x19\x61vg_all_execution_time_ms\x18\n \x01(\x01\x12%\n\x1d\x61vg_skipped_execution_time_ms\x18\x0b \x01(\x01\x12\'\n\x1f\x61vg_unskipped_execution_time_ms\x18\x0c \x01(\x01\x12\'\n\x1f\x61vg_separated_execution_time_ms\x18\r \x01(\x01\x12R\n\x10\x64pu_vote_metrics\x18\x0e \x03(\x0b\x32\x38.perfetto.protos.AndroidHwcomposerMetrics.DpuVoteMetrics\x12X\n\x13metrics_per_display\x18\x10 \x03(\x0b\x32;.perfetto.protos.AndroidHwcomposerMetrics.MetricsPerDisplay\x1a\x90\x01\n\x0e\x44puVoteMetrics\x12\x0b\n\x03tid\x18\x01 \x01(\r\x12\x1a\n\x12\x61vg_dpu_vote_clock\x18\x02 \x01(\x01\x12\x1b\n\x13\x61vg_dpu_vote_avg_bw\x18\x03 \x01(\x01\x12\x1c\n\x14\x61vg_dpu_vote_peak_bw\x18\x04 \x01(\x01\x12\x1a\n\x12\x61vg_dpu_vote_rt_bw\x18\x05 \x01(\x01\x1a\x9e\x04\n\x11MetricsPerDisplay\x12\x12\n\ndisplay_id\x18\x01 \x01(\t\x12 \n\x18\x63omposition_total_layers\x18\x02 \x01(\x01\x12\x1e\n\x16\x63omposition_dpu_layers\x18\x03 \x01(\x01\x12\x1e\n\x16\x63omposition_gpu_layers\x18\x04 \x01(\x01\x12%\n\x1d\x63omposition_dpu_cached_layers\x18\x05 \x01(\x01\x12$\n\x1c\x63omposition_sf_cached_layers\x18\x06 \x01(\x01\x12\x1e\n\x16\x63omposition_rcd_layers\x18\x07 \x01(\x01\x12 \n\x18skipped_validation_count\x18\x08 \x01(\x05\x12\"\n\x1aunskipped_validation_count\x18\t \x01(\x05\x12\"\n\x1aseparated_validation_count\x18\n \x01(\x05\x12 \n\x18unknown_validation_count\x18\x0b \x01(\x05\x12!\n\x19\x61vg_all_execution_time_ms\x18\x0c \x01(\x01\x12%\n\x1d\x61vg_skipped_execution_time_ms\x18\r \x01(\x01\x12\'\n\x1f\x61vg_unskipped_execution_time_ms\x18\x0e \x01(\x01\x12\'\n\x1f\x61vg_separated_execution_time_ms\x18\x0f \x01(\x01\"\xd3\x08\n\x11ProcessRenderInfo\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12\x16\n\x0ert_cpu_time_ms\x18\x02 \x01(\x03\x12\x18\n\x10\x64raw_frame_count\x18\x03 \x01(\r\x12\x16\n\x0e\x64raw_frame_max\x18\x04 \x01(\x03\x12\x16\n\x0e\x64raw_frame_min\x18\x05 \x01(\x03\x12\x16\n\x0e\x64raw_frame_avg\x18\x06 \x01(\x01\x12\x13\n\x0b\x66lush_count\x18\x07 \x01(\r\x12\x11\n\tflush_max\x18\x08 \x01(\x03\x12\x11\n\tflush_min\x18\t \x01(\x03\x12\x11\n\tflush_avg\x18\n \x01(\x01\x12\x1a\n\x12prepare_tree_count\x18\x0b \x01(\r\x12\x18\n\x10prepare_tree_max\x18\x0c \x01(\x03\x12\x18\n\x10prepare_tree_min\x18\r \x01(\x03\x12\x18\n\x10prepare_tree_avg\x18\x0e \x01(\x01\x12\x1c\n\x14gpu_completion_count\x18\x0f \x01(\r\x12\x1a\n\x12gpu_completion_max\x18\x10 \x01(\x03\x12\x1a\n\x12gpu_completion_min\x18\x11 \x01(\x03\x12\x1a\n\x12gpu_completion_avg\x18\x12 \x01(\x01\x12\x17\n\x0fui_record_count\x18\x13 \x01(\r\x12\x15\n\rui_record_max\x18\x14 \x01(\x03\x12\x15\n\rui_record_min\x18\x15 \x01(\x03\x12\x15\n\rui_record_avg\x18\x16 \x01(\x01\x12\x1c\n\x14shader_compile_count\x18\x17 \x01(\r\x12\x1b\n\x13shader_compile_time\x18\x18 \x01(\x03\x12\x1a\n\x12shader_compile_avg\x18\x19 \x01(\x01\x12\x17\n\x0f\x63\x61\x63he_hit_count\x18\x1a \x01(\r\x12\x16\n\x0e\x63\x61\x63he_hit_time\x18\x1b \x01(\x03\x12\x15\n\rcache_hit_avg\x18\x1c \x01(\x01\x12\x18\n\x10\x63\x61\x63he_miss_count\x18\x1d \x01(\r\x12\x17\n\x0f\x63\x61\x63he_miss_time\x18\x1e \x01(\x03\x12\x16\n\x0e\x63\x61\x63he_miss_avg\x18\x1f \x01(\x01\x12\x1c\n\x14graphics_cpu_mem_max\x18 \x01(\x03\x12\x1c\n\x14graphics_cpu_mem_min\x18! \x01(\x03\x12\x1c\n\x14graphics_cpu_mem_avg\x18\" \x01(\x01\x12\x1c\n\x14graphics_gpu_mem_max\x18# \x01(\x03\x12\x1c\n\x14graphics_gpu_mem_min\x18$ \x01(\x03\x12\x1c\n\x14graphics_gpu_mem_avg\x18% \x01(\x01\x12\x17\n\x0ftexture_mem_max\x18& \x01(\x03\x12\x17\n\x0ftexture_mem_min\x18\' \x01(\x03\x12\x17\n\x0ftexture_mem_avg\x18( \x01(\x01\x12\x13\n\x0b\x61ll_mem_max\x18) \x01(\x03\x12\x13\n\x0b\x61ll_mem_min\x18* \x01(\x03\x12\x13\n\x0b\x61ll_mem_avg\x18+ \x01(\x01\"M\n\x11\x41ndroidHwuiMetric\x12\x38\n\x0cprocess_info\x18\x01 \x03(\x0b\x32\".perfetto.protos.ProcessRenderInfo\"\xce\x03\n\tAndroidIo\x12G\n\x12\x66\x32\x66s_counter_stats\x18\x01 \x03(\x0b\x32+.perfetto.protos.AndroidIo.F2fsCounterStats\x12\x43\n\x10\x66\x32\x66s_write_stats\x18\x02 \x03(\x0b\x32).perfetto.protos.AndroidIo.F2fsWriteStats\x1ap\n\x10\x46\x32\x66sCounterStats\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03max\x18\x02 \x01(\x01\x12\x0b\n\x03sum\x18\x03 \x01(\x01\x12\x0b\n\x03min\x18\x05 \x01(\x01\x12\x0b\n\x03\x64ur\x18\x06 \x01(\x03\x12\r\n\x05\x63ount\x18\x07 \x01(\x03\x12\x0b\n\x03\x61vg\x18\x08 \x01(\x01\x1a\xc0\x01\n\x0e\x46\x32\x66sWriteStats\x12\x19\n\x11total_write_count\x18\x01 \x01(\x03\x12\x1a\n\x12\x64istinct_processes\x18\x02 \x01(\x03\x12\x1b\n\x13total_bytes_written\x18\x03 \x01(\x03\x12\x1d\n\x15\x64istinct_device_count\x18\x04 \x01(\x03\x12\x1c\n\x14\x64istinct_inode_count\x18\x05 \x01(\x03\x12\x1d\n\x15\x64istinct_thread_count\x18\x06 \x01(\x03\"\xfe\x01\n\x15\x41ndroidIoUnaggregated\x12h\n\x1d\x66\x32\x66s_write_unaggregated_stats\x18\x01 \x03(\x0b\x32\x41.perfetto.protos.AndroidIoUnaggregated.F2fsWriteUnaggreagatedStat\x1a{\n\x1a\x46\x32\x66sWriteUnaggreagatedStat\x12\x0b\n\x03tid\x18\x01 \x01(\r\x12\x13\n\x0bthread_name\x18\x02 \x01(\t\x12\x0b\n\x03pid\x18\x03 \x01(\r\x12\x14\n\x0cprocess_name\x18\x04 \x01(\t\x12\x0b\n\x03ino\x18\x05 \x01(\x03\x12\x0b\n\x03\x64\x65v\x18\x06 \x01(\x03\"\xcc\x01\n\x10\x41ndroidIonMetric\x12\x38\n\x06\x62uffer\x18\x01 \x03(\x0b\x32(.perfetto.protos.AndroidIonMetric.Buffer\x1a~\n\x06\x42uffer\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x16\n\x0e\x61vg_size_bytes\x18\x02 \x01(\x01\x12\x16\n\x0emin_size_bytes\x18\x03 \x01(\x01\x12\x16\n\x0emax_size_bytes\x18\x04 \x01(\x01\x12\x1e\n\x16total_alloc_size_bytes\x18\x05 \x01(\x01\"\xa3\x04\n\x17\x41ndroidIrqRuntimeMetric\x12I\n\x06hw_irq\x18\x01 \x01(\x0b\x32\x39.perfetto.protos.AndroidIrqRuntimeMetric.IrqRuntimeMetric\x12I\n\x06sw_irq\x18\x02 \x01(\x0b\x32\x39.perfetto.protos.AndroidIrqRuntimeMetric.IrqRuntimeMetric\x1a\x35\n\x08IrqSlice\x12\x10\n\x08irq_name\x18\x01 \x01(\t\x12\n\n\x02ts\x18\x02 \x01(\x03\x12\x0b\n\x03\x64ur\x18\x03 \x01(\x03\x1aY\n\x0fThresholdMetric\x12\x11\n\tthreshold\x18\x01 \x01(\t\x12\x1c\n\x14over_threshold_count\x18\x02 \x01(\x03\x12\x15\n\ranomaly_ratio\x18\x03 \x01(\x01\x1a\xdf\x01\n\x10IrqRuntimeMetric\x12\x13\n\x0bmax_runtime\x18\x01 \x01(\x03\x12\x13\n\x0btotal_count\x18\x02 \x01(\x03\x12R\n\x10threshold_metric\x18\x03 \x01(\x0b\x32\x38.perfetto.protos.AndroidIrqRuntimeMetric.ThresholdMetric\x12M\n\x12longest_irq_slices\x18\x04 \x03(\x0b\x32\x31.perfetto.protos.AndroidIrqRuntimeMetric.IrqSlice\"\xb6\t\n\x14\x41ndroidJankCujMetric\x12\x36\n\x03\x63uj\x18\x01 \x03(\x0b\x32).perfetto.protos.AndroidJankCujMetric.Cuj\x1a\xd8\x03\n\x03\x43uj\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x38\n\x07process\x18\x03 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12\n\n\x02ts\x18\x04 \x01(\x03\x12\x0b\n\x03\x64ur\x18\x05 \x01(\x03\x12:\n\x05\x66rame\x18\x06 \x03(\x0b\x32+.perfetto.protos.AndroidJankCujMetric.Frame\x12=\n\x08sf_frame\x18\n \x03(\x0b\x32+.perfetto.protos.AndroidJankCujMetric.Frame\x12\x46\n\x0f\x63ounter_metrics\x18\x07 \x01(\x0b\x32-.perfetto.protos.AndroidJankCujMetric.Metrics\x12G\n\x10timeline_metrics\x18\x08 \x01(\x0b\x32-.perfetto.protos.AndroidJankCujMetric.Metrics\x12\x44\n\rtrace_metrics\x18\t \x01(\x0b\x32-.perfetto.protos.AndroidJankCujMetric.Metrics\x12\x12\n\nlayer_name\x18\x0b \x01(\t\x1a\xbc\x01\n\x05\x46rame\x12\x14\n\x0c\x66rame_number\x18\x01 \x01(\x03\x12\r\n\x05vsync\x18\x02 \x01(\x03\x12\n\n\x02ts\x18\x03 \x01(\x03\x12\x0b\n\x03\x64ur\x18\x04 \x01(\x03\x12\x14\n\x0c\x64ur_expected\x18\x07 \x01(\x03\x12\x12\n\napp_missed\x18\x05 \x01(\x08\x12\x11\n\tsf_missed\x18\x06 \x01(\x08\x12\x1a\n\x12sf_callback_missed\x18\x08 \x01(\x08\x12\x1c\n\x14hwui_callback_missed\x18\t \x01(\x08\x1a\xcb\x03\n\x07Metrics\x12\x14\n\x0ctotal_frames\x18\x01 \x01(\x03\x12\x15\n\rmissed_frames\x18\x02 \x01(\x03\x12\x19\n\x11missed_app_frames\x18\x03 \x01(\x03\x12\x18\n\x10missed_sf_frames\x18\x04 \x01(\x03\x12$\n\x1cmissed_frames_max_successive\x18\x05 \x01(\x03\x12\x15\n\rframe_dur_max\x18\x06 \x01(\x03\x12\x15\n\rframe_dur_avg\x18\x07 \x01(\x03\x12\x15\n\rframe_dur_p50\x18\x08 \x01(\x03\x12\x15\n\rframe_dur_p90\x18\t \x01(\x03\x12\x15\n\rframe_dur_p95\x18\n \x01(\x03\x12\x15\n\rframe_dur_p99\x18\x0b \x01(\x03\x12\x18\n\x10\x66rame_dur_ms_p50\x18\x0c \x01(\x01\x12\x18\n\x10\x66rame_dur_ms_p90\x18\r \x01(\x01\x12\x18\n\x10\x66rame_dur_ms_p95\x18\x0e \x01(\x01\x12\x18\n\x10\x66rame_dur_ms_p99\x18\x0f \x01(\x01\x12!\n\x19sf_callback_missed_frames\x18\x10 \x01(\x03\x12#\n\x1bhwui_callback_missed_frames\x18\x11 \x01(\x03\"\x95\x05\n\x12JavaHeapClassStats\x12I\n\x0einstance_stats\x18\x01 \x03(\x0b\x32\x31.perfetto.protos.JavaHeapClassStats.InstanceStats\x1a\xc3\x02\n\tTypeCount\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1b\n\x13is_libcore_or_array\x18\x0c \x01(\x08\x12\x11\n\tobj_count\x18\x02 \x01(\x03\x12\x12\n\nsize_bytes\x18\x03 \x01(\x03\x12\x19\n\x11native_size_bytes\x18\x04 \x01(\x03\x12\x1b\n\x13reachable_obj_count\x18\x05 \x01(\x03\x12\x1c\n\x14reachable_size_bytes\x18\x06 \x01(\x03\x12#\n\x1breachable_native_size_bytes\x18\x07 \x01(\x03\x12\x1b\n\x13\x64ominated_obj_count\x18\x08 \x01(\x03\x12\x1c\n\x14\x64ominated_size_bytes\x18\t \x01(\x03\x12#\n\x1b\x64ominated_native_size_bytes\x18\n \x01(\x03J\x04\x08\x0b\x10\x0c\x1aW\n\x06Sample\x12\n\n\x02ts\x18\x01 \x01(\x03\x12\x41\n\ntype_count\x18\x02 \x03(\x0b\x32-.perfetto.protos.JavaHeapClassStats.TypeCount\x1a\x94\x01\n\rInstanceStats\x12\x0c\n\x04upid\x18\x01 \x01(\r\x12\x38\n\x07process\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12;\n\x07samples\x18\x03 \x03(\x0b\x32*.perfetto.protos.JavaHeapClassStats.Sample\"\x94\x04\n\x11JavaHeapHistogram\x12H\n\x0einstance_stats\x18\x01 \x03(\x0b\x32\x30.perfetto.protos.JavaHeapHistogram.InstanceStats\x1a\xc6\x01\n\tTypeCount\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x04 \x01(\t\x12\x11\n\tobj_count\x18\x02 \x01(\r\x12\x1b\n\x13reachable_obj_count\x18\x03 \x01(\r\x12\x0f\n\x07size_kb\x18\x05 \x01(\r\x12\x19\n\x11reachable_size_kb\x18\x06 \x01(\r\x12\x16\n\x0enative_size_kb\x18\x07 \x01(\r\x12 \n\x18reachable_native_size_kb\x18\x08 \x01(\r\x1aV\n\x06Sample\x12\n\n\x02ts\x18\x01 \x01(\x03\x12@\n\ntype_count\x18\x02 \x03(\x0b\x32,.perfetto.protos.JavaHeapHistogram.TypeCount\x1a\x93\x01\n\rInstanceStats\x12\x0c\n\x04upid\x18\x01 \x01(\r\x12\x38\n\x07process\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12:\n\x07samples\x18\x03 \x03(\x0b\x32).perfetto.protos.JavaHeapHistogram.Sample\"\xed\x04\n\rJavaHeapStats\x12\x44\n\x0einstance_stats\x18\x01 \x03(\x0b\x32,.perfetto.protos.JavaHeapStats.InstanceStats\x1a\x44\n\tHeapRoots\x12\x11\n\troot_type\x18\x01 \x01(\t\x12\x11\n\ttype_name\x18\x02 \x01(\t\x12\x11\n\tobj_count\x18\x03 \x01(\x03\x1a\xbd\x02\n\x06Sample\x12\n\n\x02ts\x18\x01 \x01(\x03\x12\x11\n\theap_size\x18\x02 \x01(\x03\x12\x18\n\x10heap_native_size\x18\x08 \x01(\x03\x12\x11\n\tobj_count\x18\x04 \x01(\x03\x12\x1b\n\x13reachable_heap_size\x18\x03 \x01(\x03\x12\"\n\x1areachable_heap_native_size\x18\t \x01(\x03\x12\x1b\n\x13reachable_obj_count\x18\x05 \x01(\x03\x12\x1e\n\x16\x61non_rss_and_swap_size\x18\x06 \x01(\x03\x12\x37\n\x05roots\x18\x07 \x03(\x0b\x32(.perfetto.protos.JavaHeapStats.HeapRoots\x12\x15\n\room_score_adj\x18\n \x01(\x03\x12\x19\n\x11process_uptime_ms\x18\x0b \x01(\x03\x1a\x8f\x01\n\rInstanceStats\x12\x0c\n\x04upid\x18\x01 \x01(\r\x12\x38\n\x07process\x18\x02 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12\x36\n\x07samples\x18\x03 \x03(\x0b\x32%.perfetto.protos.JavaHeapStats.Sample\"\xb9\x01\n\x10\x41ndroidLmkMetric\x12\x13\n\x0btotal_count\x18\x01 \x01(\x05\x12\x42\n\x0c\x62y_oom_score\x18\x02 \x03(\x0b\x32,.perfetto.protos.AndroidLmkMetric.ByOomScore\x12\x18\n\x10oom_victim_count\x18\x03 \x01(\x05\x1a\x32\n\nByOomScore\x12\x15\n\room_score_adj\x18\x01 \x01(\x05\x12\r\n\x05\x63ount\x18\x02 \x01(\x05\"\xb5\x03\n\x16\x41ndroidLmkReasonMetric\x12\x39\n\x04lmks\x18\x01 \x03(\x0b\x32+.perfetto.protos.AndroidLmkReasonMetric.Lmk\x1a\xc5\x01\n\x07Process\x12\x38\n\x07process\x18\x01 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12\x15\n\room_score_adj\x18\x02 \x01(\x05\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x16\n\x0e\x66ile_rss_bytes\x18\x04 \x01(\x03\x12\x16\n\x0e\x61non_rss_bytes\x18\x05 \x01(\x03\x12\x17\n\x0fshmem_rss_bytes\x18\x06 \x01(\x03\x12\x12\n\nswap_bytes\x18\x07 \x01(\x03\x1a\x97\x01\n\x03Lmk\x12\x15\n\room_score_adj\x18\x01 \x01(\x05\x12\x17\n\x0fion_heaps_bytes\x18\x04 \x01(\x03\x12\x1c\n\x14system_ion_heap_size\x18\x02 \x01(\x03\x12\x42\n\tprocesses\x18\x03 \x03(\x0b\x32/.perfetto.protos.AndroidLmkReasonMetric.Process\"\xc6\x06\n\x13\x41ndroidMemoryMetric\x12L\n\x0fprocess_metrics\x18\x01 \x03(\x0b\x32\x33.perfetto.protos.AndroidMemoryMetric.ProcessMetrics\x1a\xce\x01\n\x0eProcessMetrics\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12R\n\x0etotal_counters\x18\x02 \x01(\x0b\x32:.perfetto.protos.AndroidMemoryMetric.ProcessMemoryCounters\x12R\n\x12priority_breakdown\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.AndroidMemoryMetric.PriorityBreakdown\x1as\n\x11PriorityBreakdown\x12\x10\n\x08priority\x18\x01 \x01(\t\x12L\n\x08\x63ounters\x18\x02 \x01(\x0b\x32:.perfetto.protos.AndroidMemoryMetric.ProcessMemoryCounters\x1a\xd9\x02\n\x15ProcessMemoryCounters\x12>\n\x08\x61non_rss\x18\x01 \x01(\x0b\x32,.perfetto.protos.AndroidMemoryMetric.Counter\x12>\n\x08\x66ile_rss\x18\x02 \x01(\x0b\x32,.perfetto.protos.AndroidMemoryMetric.Counter\x12:\n\x04swap\x18\x03 \x01(\x0b\x32,.perfetto.protos.AndroidMemoryMetric.Counter\x12\x43\n\ranon_and_swap\x18\x04 \x01(\x0b\x32,.perfetto.protos.AndroidMemoryMetric.Counter\x12?\n\tjava_heap\x18\x05 \x01(\x0b\x32,.perfetto.protos.AndroidMemoryMetric.Counter\x1a?\n\x07\x43ounter\x12\x0b\n\x03min\x18\x01 \x01(\x01\x12\x0b\n\x03max\x18\x02 \x01(\x01\x12\x0b\n\x03\x61vg\x18\x03 \x01(\x01\x12\r\n\x05\x64\x65lta\x18\x04 \x01(\x01\"\xf2\x04\n\x1f\x41ndroidMemoryUnaggregatedMetric\x12V\n\x0eprocess_values\x18\x01 \x03(\x0b\x32>.perfetto.protos.AndroidMemoryUnaggregatedMetric.ProcessValues\x1a\x7f\n\rProcessValues\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12X\n\nmem_values\x18\x02 \x01(\x0b\x32\x44.perfetto.protos.AndroidMemoryUnaggregatedMetric.ProcessMemoryValues\x1a\xbe\x02\n\x13ProcessMemoryValues\x12H\n\x08\x61non_rss\x18\x01 \x03(\x0b\x32\x36.perfetto.protos.AndroidMemoryUnaggregatedMetric.Value\x12H\n\x08\x66ile_rss\x18\x02 \x03(\x0b\x32\x36.perfetto.protos.AndroidMemoryUnaggregatedMetric.Value\x12\x44\n\x04swap\x18\x03 \x03(\x0b\x32\x36.perfetto.protos.AndroidMemoryUnaggregatedMetric.Value\x12M\n\ranon_and_swap\x18\x04 \x03(\x0b\x32\x36.perfetto.protos.AndroidMemoryUnaggregatedMetric.Value\x1a\x35\n\x05Value\x12\n\n\x02ts\x18\x01 \x01(\x03\x12\x11\n\toom_score\x18\x02 \x01(\x05\x12\r\n\x05value\x18\x03 \x01(\x01\"\xb4\x02\n!AndroidMonitorContentionAggMetric\x12\x62\n\x13process_aggregation\x18\x01 \x03(\x0b\x32\x45.perfetto.protos.AndroidMonitorContentionAggMetric.ProcessAggregation\x1a\xaa\x01\n\x12ProcessAggregation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1e\n\x16total_contention_count\x18\x02 \x01(\x03\x12\x1c\n\x14total_contention_dur\x18\x03 \x01(\x03\x12$\n\x1cmain_thread_contention_count\x18\x04 \x01(\x03\x12\"\n\x1amain_thread_contention_dur\x18\x05 \x01(\x03\"\xb1\x08\n\x1e\x41ndroidMonitorContentionMetric\x12\x42\n\x04node\x18\x01 \x03(\x0b\x32\x34.perfetto.protos.AndroidMonitorContentionMetric.Node\x1a\xf2\x05\n\x04Node\x12\x16\n\x0enode_parent_id\x18\x01 \x01(\x03\x12\x15\n\rnode_child_id\x18\x18 \x01(\x03\x12\x0f\n\x07node_id\x18\x02 \x01(\x03\x12\n\n\x02ts\x18\x03 \x01(\x03\x12\x0b\n\x03\x64ur\x18\x04 \x01(\x03\x12\x15\n\rmonotonic_dur\x18\x19 \x01(\x03\x12\x14\n\x0cprocess_name\x18\x0e \x01(\t\x12\x0b\n\x03pid\x18\x17 \x01(\r\x12\x14\n\x0cwaiter_count\x18\x0b \x01(\r\x12[\n\rthread_states\x18\x13 \x03(\x0b\x32\x44.perfetto.protos.AndroidMonitorContentionMetric.ThreadStateBreakdown\x12\x63\n\x11\x62locked_functions\x18\x14 \x03(\x0b\x32H.perfetto.protos.AndroidMonitorContentionMetric.BlockedFunctionBreakdown\x12\x17\n\x0f\x62locking_method\x18\x05 \x01(\t\x12\x1d\n\x15short_blocking_method\x18\x07 \x01(\t\x12\x14\n\x0c\x62locking_src\x18\t \x01(\t\x12\x1c\n\x14\x62locking_thread_name\x18\r \x01(\t\x12\x1f\n\x17is_blocking_thread_main\x18\x10 \x01(\x08\x12\x1b\n\x13\x62locking_thread_tid\x18\x16 \x01(\r\x12\x16\n\x0e\x62locked_method\x18\x06 \x01(\t\x12\x1c\n\x14short_blocked_method\x18\x08 \x01(\t\x12\x13\n\x0b\x62locked_src\x18\n \x01(\t\x12\x1b\n\x13\x62locked_thread_name\x18\x0c \x01(\t\x12\x1e\n\x16is_blocked_thread_main\x18\x0f \x01(\x08\x12\x1a\n\x12\x62locked_thread_tid\x18\x15 \x01(\r\x12\x17\n\x0f\x62inder_reply_ts\x18\x11 \x01(\x03\x12\x18\n\x10\x62inder_reply_tid\x18\x12 \x01(\r\x1a\x62\n\x14ThreadStateBreakdown\x12\x14\n\x0cthread_state\x18\x01 \x01(\t\x12\x18\n\x10thread_state_dur\x18\x02 \x01(\x03\x12\x1a\n\x12thread_state_count\x18\x03 \x01(\x03\x1ar\n\x18\x42lockedFunctionBreakdown\x12\x18\n\x10\x62locked_function\x18\x01 \x01(\t\x12\x1c\n\x14\x62locked_function_dur\x18\x02 \x01(\x03\x12\x1e\n\x16\x62locked_function_count\x18\x03 \x01(\x03\"\xc6\x02\n\x16\x41ndroidMultiuserMetric\x12\x46\n\x0buser_switch\x18\x01 \x01(\x0b\x32\x31.perfetto.protos.AndroidMultiuserMetric.EventData\x1a\xe3\x01\n\tEventData\x12\x13\n\x0b\x64uration_ms\x18\x01 \x01(\x05\x12M\n\tcpu_usage\x18\x02 \x03(\x0b\x32:.perfetto.protos.AndroidMultiuserMetric.EventData.CpuUsage\x1ar\n\x08\x43puUsage\x12\x0f\n\x07user_id\x18\x01 \x01(\x05\x12\x14\n\x0cprocess_name\x18\x02 \x01(\t\x12\x13\n\x0b\x63pu_mcycles\x18\x03 \x01(\x05\x12\x16\n\x0e\x63pu_percentage\x18\x04 \x01(\x02\x12\x12\n\nidentifier\x18\x05 \x01(\t\"\xf3\x10\n\x14\x41ndroidNetworkMetric\x12\x44\n\x0bnet_devices\x18\x01 \x03(\x0b\x32/.perfetto.protos.AndroidNetworkMetric.NetDevice\x12H\n\rnet_rx_action\x18\x02 \x01(\x0b\x32\x31.perfetto.protos.AndroidNetworkMetric.NetRxAction\x12\x1b\n\x13retransmission_rate\x18\x03 \x01(\x01\x12\x16\n\x0ekfree_skb_rate\x18\x04 \x01(\x01\x12H\n\rnet_tx_action\x18\x05 \x01(\x0b\x32\x31.perfetto.protos.AndroidNetworkMetric.NetTxAction\x12\x43\n\nipi_action\x18\x06 \x01(\x0b\x32/.perfetto.protos.AndroidNetworkMetric.IpiAction\x1a\xa3\x01\n\x0fPacketStatistic\x12\x0f\n\x07packets\x18\x01 \x01(\x03\x12\r\n\x05\x62ytes\x18\x02 \x01(\x03\x12!\n\x19\x66irst_packet_timestamp_ns\x18\x03 \x01(\x03\x12 \n\x18last_packet_timestamp_ns\x18\x04 \x01(\x03\x12\x13\n\x0binterval_ns\x18\x05 \x01(\x03\x12\x16\n\x0e\x64\x61ta_rate_kbps\x18\x06 \x01(\x01\x1ar\n\x13\x43orePacketStatistic\x12\n\n\x02id\x18\x01 \x01(\r\x12O\n\x10packet_statistic\x18\x02 \x01(\x0b\x32\x35.perfetto.protos.AndroidNetworkMetric.PacketStatistic\x1a\xb2\x01\n\x02Rx\x12\x44\n\x05total\x18\x01 \x01(\x0b\x32\x35.perfetto.protos.AndroidNetworkMetric.PacketStatistic\x12G\n\x04\x63ore\x18\x02 \x03(\x0b\x32\x39.perfetto.protos.AndroidNetworkMetric.CorePacketStatistic\x12\x1d\n\x15gro_aggregation_ratio\x18\x03 \x01(\t\x1a\x93\x01\n\x02Tx\x12\x44\n\x05total\x18\x01 \x01(\x0b\x32\x35.perfetto.protos.AndroidNetworkMetric.PacketStatistic\x12G\n\x04\x63ore\x18\x02 \x03(\x0b\x32\x39.perfetto.protos.AndroidNetworkMetric.CorePacketStatistic\x1a\x85\x01\n\tNetDevice\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x02rx\x18\x02 \x01(\x0b\x32(.perfetto.protos.AndroidNetworkMetric.Rx\x12\x34\n\x02tx\x18\x03 \x01(\x0b\x32(.perfetto.protos.AndroidNetworkMetric.Tx\x1ax\n\x14NetRxActionStatistic\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12\x12\n\nruntime_ms\x18\x02 \x01(\x01\x12\x16\n\x0e\x61vg_runtime_ms\x18\x03 \x01(\x01\x12\x0f\n\x07mcycles\x18\x04 \x01(\x03\x12\x14\n\x0c\x61vg_freq_khz\x18\x05 \x01(\x03\x1ax\n\x14NetTxActionStatistic\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12\x12\n\nruntime_ms\x18\x02 \x01(\x01\x12\x16\n\x0e\x61vg_runtime_ms\x18\x03 \x01(\x01\x12\x0f\n\x07mcycles\x18\x04 \x01(\x03\x12\x14\n\x0c\x61vg_freq_khz\x18\x05 \x01(\x03\x1aO\n\x12IpiActionStatistic\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x12\x12\n\nruntime_ms\x18\x02 \x01(\x01\x12\x16\n\x0e\x61vg_runtime_ms\x18\x03 \x01(\x01\x1a\x83\x01\n\x18\x43oreNetRxActionStatistic\x12\n\n\x02id\x18\x01 \x01(\r\x12[\n\x17net_rx_action_statistic\x18\x02 \x01(\x0b\x32:.perfetto.protos.AndroidNetworkMetric.NetRxActionStatistic\x1a\x83\x01\n\x18\x43oreNetTxActionStatistic\x12\n\n\x02id\x18\x01 \x01(\r\x12[\n\x17net_tx_action_statistic\x18\x02 \x01(\x0b\x32:.perfetto.protos.AndroidNetworkMetric.NetTxActionStatistic\x1a\xc9\x01\n\x0bNetRxAction\x12I\n\x05total\x18\x01 \x01(\x0b\x32:.perfetto.protos.AndroidNetworkMetric.NetRxActionStatistic\x12L\n\x04\x63ore\x18\x02 \x03(\x0b\x32>.perfetto.protos.AndroidNetworkMetric.CoreNetRxActionStatistic\x12!\n\x19\x61vg_interstack_latency_ms\x18\x03 \x01(\x01\x1a\xa6\x01\n\x0bNetTxAction\x12I\n\x05total\x18\x01 \x01(\x0b\x32:.perfetto.protos.AndroidNetworkMetric.NetTxActionStatistic\x12L\n\x04\x63ore\x18\x02 \x03(\x0b\x32>.perfetto.protos.AndroidNetworkMetric.CoreNetTxActionStatistic\x1aT\n\tIpiAction\x12G\n\x05total\x18\x01 \x01(\x0b\x32\x38.perfetto.protos.AndroidNetworkMetric.IpiActionStatistic\"9\n\x18\x41ndroidOtherTracesMetric\x12\x1d\n\x15\x66inalized_traces_uuid\x18\x01 \x03(\t\"\x97\x01\n\x12\x41ndroidPackageList\x12=\n\x08packages\x18\x01 \x03(\x0b\x32+.perfetto.protos.AndroidPackageList.Package\x1a\x42\n\x07Package\x12\x14\n\x0cpackage_name\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\x03\x12\x14\n\x0cversion_code\x18\x03 \x01(\x03\"\xab\x02\n\x11\x41ndroidPowerRails\x12\x42\n\x0bpower_rails\x18\x01 \x03(\x0b\x32-.perfetto.protos.AndroidPowerRails.PowerRails\x12\x1f\n\x17\x61vg_total_used_power_mw\x18\x02 \x01(\x01\x1a\x36\n\nEnergyData\x12\x14\n\x0ctimestamp_ms\x18\x01 \x01(\x03\x12\x12\n\nenergy_uws\x18\x02 \x01(\x01\x1ay\n\nPowerRails\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x42\n\x0b\x65nergy_data\x18\x02 \x03(\x0b\x32-.perfetto.protos.AndroidPowerRails.EnergyData\x12\x19\n\x11\x61vg_used_power_mw\x18\x03 \x01(\x01\"\x9f\x02\n\rProfilerSmaps\x12\x39\n\x08instance\x18\x01 \x03(\x0b\x32\'.perfetto.protos.ProfilerSmaps.Instance\x1aS\n\x07Mapping\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07size_kb\x18\x02 \x01(\x05\x12\x18\n\x10private_dirty_kb\x18\x03 \x01(\x05\x12\x0f\n\x07swap_kb\x18\x04 \x01(\x05\x1a~\n\x08Instance\x12\x38\n\x07process\x18\x01 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12\x38\n\x08mappings\x18\x02 \x03(\x0b\x32&.perfetto.protos.ProfilerSmaps.Mapping\"\xc4\x01\n\x16\x41ndroidRtRuntimeMetric\x12\x13\n\x0bmax_runtime\x18\x01 \x01(\x03\x12\x16\n\x0eover_5ms_count\x18\x02 \x01(\x03\x12J\n\x11longest_rt_slices\x18\x03 \x03(\x0b\x32/.perfetto.protos.AndroidRtRuntimeMetric.RtSlice\x1a\x31\n\x07RtSlice\x12\r\n\x05tname\x18\x01 \x01(\t\x12\n\n\x02ts\x18\x02 \x01(\x03\x12\x0b\n\x03\x64ur\x18\x03 \x01(\x03\"\xc8\x03\n\x17\x41ndroidSimpleperfMetric\x12\x14\n\x0curgent_ratio\x18\x01 \x01(\x01\x12H\n\x06\x65vents\x18\x02 \x03(\x0b\x32\x38.perfetto.protos.AndroidSimpleperfMetric.PerfEventMetric\x1a\xcc\x02\n\x0fPerfEventMetric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12S\n\tprocesses\x18\x02 \x03(\x0b\x32@.perfetto.protos.AndroidSimpleperfMetric.PerfEventMetric.Process\x12\r\n\x05total\x18\x03 \x01(\x01\x1a?\n\x06Thread\x12\x0b\n\x03tid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0b\n\x03\x63pu\x18\x03 \x01(\x05\x12\r\n\x05total\x18\x04 \x01(\x01\x1a\x85\x01\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\x12P\n\x07threads\x18\x03 \x03(\x0b\x32?.perfetto.protos.AndroidSimpleperfMetric.PerfEventMetric.Thread\x12\r\n\x05total\x18\x04 \x01(\x01\"\xb6\x35\n\x14\x41ndroidStartupMetric\x12>\n\x07startup\x18\x01 \x03(\x0b\x32-.perfetto.protos.AndroidStartupMetric.Startup\x1a\xe5\x01\n\x12TaskStateBreakdown\x12\x16\n\x0erunning_dur_ns\x18\x01 \x01(\x03\x12\x17\n\x0frunnable_dur_ns\x18\x02 \x01(\x03\x12$\n\x1cuninterruptible_sleep_dur_ns\x18\x03 \x01(\x03\x12\"\n\x1ainterruptible_sleep_dur_ns\x18\x04 \x01(\x03\x12\'\n\x1funinterruptible_io_sleep_dur_ns\x18\x05 \x01(\x03\x12+\n#uninterruptible_non_io_sleep_dur_ns\x18\x06 \x01(\x03\x1aQ\n\x11McyclesByCoreType\x12\x0e\n\x06little\x18\x01 \x01(\x03\x12\x0b\n\x03\x62ig\x18\x02 \x01(\x03\x12\x0e\n\x06\x62igger\x18\x03 \x01(\x03\x12\x0f\n\x07unknown\x18\x04 \x01(\x03\x1a\'\n\x05Slice\x12\x0e\n\x06\x64ur_ns\x18\x01 \x01(\x03\x12\x0e\n\x06\x64ur_ms\x18\x02 \x01(\x01\x1a\x9f\x11\n\x0cToFirstFrame\x12\x0e\n\x06\x64ur_ns\x18\x01 \x01(\x03\x12\x0e\n\x06\x64ur_ms\x18\x11 \x01(\x01\x12[\n\x19main_thread_by_task_state\x18\x02 \x01(\x0b\x32\x38.perfetto.protos.AndroidStartupMetric.TaskStateBreakdown\x12U\n\x14mcycles_by_core_type\x18\x1a \x01(\x0b\x32\x37.perfetto.protos.AndroidStartupMetric.McyclesByCoreType\x12%\n\x1dother_processes_spawned_count\x18\x03 \x01(\r\x12J\n\x15time_activity_manager\x18\x04 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12N\n\x19time_activity_thread_main\x18\x05 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12J\n\x15time_bind_application\x18\x06 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12H\n\x13time_activity_start\x18\x07 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12I\n\x14time_activity_resume\x18\x08 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12J\n\x15time_activity_restart\x18\x15 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12G\n\x12time_choreographer\x18\t \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x41\n\x0ctime_inflate\x18\x16 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12G\n\x12time_get_resources\x18\x17 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12N\n\x19time_before_start_process\x18\n \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12N\n\x19time_during_start_process\x18\x0b \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12J\n\x15time_to_running_state\x18# \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x41\n\x0cto_post_fork\x18\x12 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12L\n\x17to_activity_thread_main\x18\x13 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12H\n\x13to_bind_application\x18\x14 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x43\n\x0etime_post_fork\x18\x10 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x42\n\rtime_dex_open\x18\x18 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x46\n\x11time_verify_class\x18\x19 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x1c\n\x14jit_compiled_methods\x18\x1b \x01(\r\x12P\n\x1btime_jit_thread_pool_on_cpu\x18\x1c \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x42\n\rtime_gc_total\x18\x1d \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x43\n\x0etime_gc_on_cpu\x18\x1e \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12U\n time_lock_contention_thread_main\x18\x1f \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12X\n#time_monitor_contention_thread_main\x18 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12N\n\x19time_dex_open_thread_main\x18! \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12L\n\x17time_dlopen_thread_main\x18\" \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.SliceJ\x04\x08\x0c\x10\rJ\x04\x08\r\x10\x0eJ\x04\x08\x0e\x10\x0fJ\x04\x08\x0f\x10\x10\x1aO\n\nHscMetrics\x12\x41\n\x0c\x66ull_startup\x18\x01 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x1aG\n\x08\x41\x63tivity\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12\x17\n\x0fts_method_start\x18\x04 \x01(\x03J\x04\x08\x03\x10\x04\x1a\xcb\x01\n\x11\x42inderTransaction\x12=\n\x08\x64uration\x18\x01 \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12\x0e\n\x06thread\x18\x02 \x01(\t\x12\x1a\n\x12\x64\x65stination_thread\x18\x03 \x01(\t\x12\x1b\n\x13\x64\x65stination_process\x18\x04 \x01(\t\x12\r\n\x05\x66lags\x18\x05 \x01(\t\x12\x0c\n\x04\x63ode\x18\x06 \x01(\t\x12\x11\n\tdata_size\x18\x07 \x01(\x03\x1a\x84\x01\n\x12OptimizationStatus\x12\x13\n\x0bodex_status\x18\x01 \x01(\t\x12\x1a\n\x12\x63ompilation_filter\x18\x02 \x01(\t\x12\x1a\n\x12\x63ompilation_reason\x18\x03 \x01(\t\x12\x10\n\x08location\x18\x04 \x01(\t\x12\x0f\n\x07summary\x18\x05 \x01(\t\x1a+\n\x0bVerifyClass\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x64ur_ns\x18\x02 \x01(\x03\x1a?\n\x0f\x45ventTimestamps\x12\x17\n\x0fintent_received\x18\x01 \x01(\x03\x12\x13\n\x0b\x66irst_frame\x18\x02 \x01(\x03\x1a\xe9\x01\n\x0bSystemState\x12\x1b\n\x0f\x64\x65x2oat_running\x18\x01 \x01(\x08\x42\x02\x18\x01\x12\x1c\n\x10installd_running\x18\x02 \x01(\x08\x42\x02\x18\x01\x12\"\n\x1a\x62roadcast_dispatched_count\x18\x03 \x01(\x03\x12 \n\x18\x62roadcast_received_count\x18\x04 \x01(\x03\x12(\n most_active_non_launch_processes\x18\x05 \x03(\t\x12\x17\n\x0finstalld_dur_ns\x18\x06 \x01(\x03\x12\x16\n\x0e\x64\x65x2oat_dur_ns\x18\x07 \x01(\x03\x1a:\n\x17SlowStartReasonDetailed\x12\x0e\n\x06reason\x18\x01 \x01(\t\x12\x0f\n\x07\x64\x65tails\x18\x02 \x01(\t\x1a\xee\x0b\n\x0fSlowStartReason\x12Q\n\treason_id\x18\x01 \x01(\x0e\x32>.perfetto.protos.AndroidStartupMetric.SlowStartReason.ReasonId\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12U\n\x08severity\x18\n \x01(\x0e\x32\x43.perfetto.protos.AndroidStartupMetric.SlowStartReason.SeverityLevel\x12L\n\x0e\x65xpected_value\x18\x03 \x01(\x0b\x32\x34.perfetto.protos.AndroidStartupMetric.ThresholdValue\x12G\n\x0c\x61\x63tual_value\x18\x04 \x01(\x0b\x32\x31.perfetto.protos.AndroidStartupMetric.ActualValue\x12\x12\n\nlaunch_dur\x18\x05 \x01(\x03\x12\x10\n\x08\x64uration\x18\x06 \x01(\x03\x12U\n\x14trace_slice_sections\x18\x07 \x03(\x0b\x32\x37.perfetto.protos.AndroidStartupMetric.TraceSliceSection\x12W\n\x15trace_thread_sections\x18\x08 \x03(\x0b\x32\x38.perfetto.protos.AndroidStartupMetric.TraceThreadSection\x12\x17\n\x0f\x61\x64\x64itional_info\x18\t \x01(\t\"\xcd\x06\n\x08ReasonId\x12\x19\n\x15REASON_ID_UNSPECIFIED\x10\x00\x12!\n\x1dNO_BASELINE_OR_CLOUD_PROFILES\x10\x01\x12\x10\n\x0cRUN_FROM_APK\x10\x02\x12\x12\n\x0eUNLOCK_RUNNING\x10\x03\x12\x1a\n\x16\x41PP_IN_DEBUGGABLE_MODE\x10\x04\x12\x0f\n\x0bGC_ACTIVITY\x10\x05\x12\x13\n\x0f\x44\x45X2OAT_RUNNING\x10\x06\x12\x14\n\x10INSTALLD_RUNNING\x10\x07\x12&\n\"MAIN_THREAD_TIME_SPENT_IN_RUNNABLE\x10\x08\x12\x31\n-MAIN_THREAD_TIME_SPENT_IN_INTERRUPTIBLE_SLEEP\x10\t\x12)\n%MAIN_THREAD_TIME_SPENT_IN_BLOCKING_IO\x10\n\x12\x35\n1MAIN_THREAD_TIME_SPENT_IN_OPEN_DEX_FILES_FROM_OAT\x10\x0b\x12\"\n\x1eTIME_SPENT_IN_BIND_APPLICATION\x10\x0c\x12 \n\x1cTIME_SPENT_IN_VIEW_INFLATION\x10\r\x12\x31\n-TIME_SPENT_IN_RESOURCES_MANAGER_GET_RESOURCES\x10\x0e\x12 \n\x1cTIME_SPENT_VERIFYING_CLASSES\x10\x0f\x12\x31\n-POTENTIAL_CPU_CONTENTION_WITH_ANOTHER_PROCESS\x10\x10\x12\x10\n\x0cJIT_ACTIVITY\x10\x11\x12\x1f\n\x1bMAIN_THREAD_LOCK_CONTENTION\x10\x12\x12\"\n\x1eMAIN_THREAD_MONITOR_CONTENTION\x10\x13\x12\x18\n\x14JIT_COMPILED_METHODS\x10\x14\x12\x1e\n\x1a\x42ROADCAST_DISPATCHED_COUNT\x10\x15\x12\x1c\n\x18\x42ROADCAST_RECEIVED_COUNT\x10\x16\x12\x1e\n\x1aSTARTUP_RUNNING_CONCURRENT\x10\x17\x12+\n\'MAIN_THREAD_BINDER_TRANSCATIONS_BLOCKED\x10\x18\"K\n\rSeverityLevel\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\t\n\x05\x45RROR\x10\x01\x12\x0b\n\x07WARNING\x10\x02\x12\x08\n\x04INFO\x10\x03\x1a\xf1\x01\n\x0eThresholdValue\x12\r\n\x05value\x18\x01 \x01(\x03\x12P\n\x04unit\x18\x02 \x01(\x0e\x32\x42.perfetto.protos.AndroidStartupMetric.ThresholdValue.ThresholdUnit\x12\x17\n\x0fhigher_expected\x18\x03 \x01(\x08\"e\n\rThresholdUnit\x12\x1e\n\x1aTHRESHOLD_UNIT_UNSPECIFIED\x10\x00\x12\x06\n\x02NS\x10\x01\x12\x0e\n\nPERCENTAGE\x10\x02\x12\x11\n\rTRUE_OR_FALSE\x10\x03\x12\t\n\x05\x43OUNT\x10\x04\x1a)\n\x0b\x41\x63tualValue\x12\r\n\x05value\x18\x01 \x01(\x03\x12\x0b\n\x03\x64ur\x18\x02 \x01(\x03\x1ai\n\x11TraceSliceSection\x12\x17\n\x0fstart_timestamp\x18\x01 \x01(\x03\x12\x15\n\rend_timestamp\x18\x02 \x01(\x03\x12\x10\n\x08slice_id\x18\x03 \x01(\r\x12\x12\n\nslice_name\x18\x04 \x01(\t\x1an\n\x12TraceThreadSection\x12\x17\n\x0fstart_timestamp\x18\x01 \x01(\x03\x12\x15\n\rend_timestamp\x18\x02 \x01(\x03\x12\x13\n\x0bthread_utid\x18\x03 \x01(\r\x12\x13\n\x0bthread_name\x18\x04 \x01(\t\x1a\xe7\t\n\x07Startup\x12\x12\n\nstartup_id\x18\x01 \x01(\r\x12\x14\n\x0cstartup_type\x18\x10 \x01(\t\x12\x14\n\x0cpackage_name\x18\x02 \x01(\t\x12\x14\n\x0cprocess_name\x18\x03 \x01(\t\x12\x42\n\nactivities\x18\x0b \x03(\x0b\x32..perfetto.protos.AndroidStartupMetric.Activity\x12Y\n\x18long_binder_transactions\x18\x0e \x03(\x0b\x32\x37.perfetto.protos.AndroidStartupMetric.BinderTransaction\x12\x1a\n\x12zygote_new_process\x18\x04 \x01(\x08\x12&\n\x1e\x61\x63tivity_hosting_process_count\x18\x06 \x01(\r\x12\x1f\n\x17time_to_initial_display\x18\x16 \x01(\x03\x12\x1c\n\x14time_to_full_display\x18\x17 \x01(\x03\x12O\n\x10\x65vent_timestamps\x18\r \x01(\x0b\x32\x35.perfetto.protos.AndroidStartupMetric.EventTimestamps\x12J\n\x0eto_first_frame\x18\x05 \x01(\x0b\x32\x32.perfetto.protos.AndroidStartupMetric.ToFirstFrame\x12\x38\n\x07process\x18\x07 \x01(\x0b\x32\'.perfetto.protos.AndroidProcessMetadata\x12=\n\x03hsc\x18\x08 \x01(\x0b\x32\x30.perfetto.protos.AndroidStartupMetric.HscMetrics\x12G\n\x12report_fully_drawn\x18\t \x01(\x0b\x32+.perfetto.protos.AndroidStartupMetric.Slice\x12U\n\x13optimization_status\x18\x0c \x03(\x0b\x32\x38.perfetto.protos.AndroidStartupMetric.OptimizationStatus\x12G\n\x0cverify_class\x18\x13 \x03(\x0b\x32\x31.perfetto.protos.AndroidStartupMetric.VerifyClass\x12\x13\n\x0b\x64lopen_file\x18\x14 \x03(\t\x12$\n\x1cstartup_concurrent_to_launch\x18\x12 \x03(\t\x12G\n\x0csystem_state\x18\x0f \x01(\x0b\x32\x31.perfetto.protos.AndroidStartupMetric.SystemState\x12\x19\n\x11slow_start_reason\x18\x11 \x03(\t\x12\x61\n\x1aslow_start_reason_detailed\x18\x15 \x03(\x0b\x32=.perfetto.protos.AndroidStartupMetric.SlowStartReasonDetailed\x12]\n\x1eslow_start_reason_with_details\x18\x18 \x03(\x0b\x32\x35.perfetto.protos.AndroidStartupMetric.SlowStartReasonJ\x04\x08\n\x10\x0b\"\xd5\x04\n\x1b\x41ndroidSurfaceflingerMetric\x12\x15\n\rmissed_frames\x18\x01 \x01(\r\x12\x19\n\x11missed_hwc_frames\x18\x02 \x01(\r\x12\x19\n\x11missed_gpu_frames\x18\x03 \x01(\r\x12\x19\n\x11missed_frame_rate\x18\x04 \x01(\x01\x12\x1d\n\x15missed_hwc_frame_rate\x18\x05 \x01(\x01\x12\x1d\n\x15missed_gpu_frame_rate\x18\x06 \x01(\x01\x12\x17\n\x0fgpu_invocations\x18\x07 \x01(\r\x12\x1e\n\x16\x61vg_gpu_waiting_dur_ms\x18\x08 \x01(\x01\x12*\n\"total_non_empty_gpu_waiting_dur_ms\x18\t \x01(\x01\x12[\n\x13metrics_per_display\x18\n \x03(\x0b\x32>.perfetto.protos.AndroidSurfaceflingerMetric.MetricsPerDisplay\x1a\xcd\x01\n\x11MetricsPerDisplay\x12\x12\n\ndisplay_id\x18\x01 \x01(\t\x12\x15\n\rmissed_frames\x18\x02 \x01(\r\x12\x19\n\x11missed_hwc_frames\x18\x03 \x01(\r\x12\x19\n\x11missed_gpu_frames\x18\x04 \x01(\r\x12\x19\n\x11missed_frame_rate\x18\x05 \x01(\x01\x12\x1d\n\x15missed_hwc_frame_rate\x18\x06 \x01(\x01\x12\x1d\n\x15missed_gpu_frame_rate\x18\x07 \x01(\x01\"\x91\x01\n$SysUiSlicePerformanceStatisticalData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x63nt\x18\x02 \x01(\x03\x12\x12\n\navg_dur_ms\x18\x03 \x01(\x03\x12\x12\n\nmax_dur_ms\x18\x04 \x01(\x03\x12\x12\n\navg_dur_ns\x18\x06 \x01(\x03\x12\x12\n\nmax_dur_ns\x18\x07 \x01(\x03\"\xcf\x03\n SysuiNotifShadeListBuilderMetric\x12U\n\x16\x61ll_slices_performance\x18\x01 \x01(\x0b\x32\x35.perfetto.protos.SysUiSlicePerformanceStatisticalData\x12`\n!slices_with_inflation_performance\x18\x02 \x01(\x0b\x32\x35.perfetto.protos.SysUiSlicePerformanceStatisticalData\x12\x63\n$slices_with_modification_performance\x18\x03 \x01(\x0b\x32\x35.perfetto.protos.SysUiSlicePerformanceStatisticalData\x12N\n\x05slice\x18\x04 \x03(\x0b\x32?.perfetto.protos.SysuiNotifShadeListBuilderMetric.SliceDuration\x1a=\n\rSliceDuration\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x64ur_ms\x18\x02 \x01(\x03\x12\x0e\n\x06\x64ur_ns\x18\x03 \x01(\x03\"\x92\x02\n%SysuiUpdateNotifOnUiModeChangedMetric\x12U\n\x16\x61ll_slices_performance\x18\x01 \x01(\x0b\x32\x35.perfetto.protos.SysUiSlicePerformanceStatisticalData\x12S\n\x05slice\x18\x02 \x03(\x0b\x32\x44.perfetto.protos.SysuiUpdateNotifOnUiModeChangedMetric.SliceDuration\x1a=\n\rSliceDuration\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x64ur_ms\x18\x02 \x01(\x03\x12\x0e\n\x06\x64ur_ns\x18\x03 \x01(\x03\"\xc4\x01\n\x10\x41ndroidTaskNames\x12:\n\x07process\x18\x01 \x03(\x0b\x32).perfetto.protos.AndroidTaskNames.Process\x1at\n\x07Process\x12\x0b\n\x03pid\x18\x01 \x01(\x03\x12\x14\n\x0cprocess_name\x18\x02 \x01(\t\x12\x13\n\x0bthread_name\x18\x03 \x03(\t\x12\x0b\n\x03uid\x18\x04 \x01(\x03\x12\x18\n\x10uid_package_name\x18\x05 \x03(\tJ\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08\"z\n\x19\x41ndroidTraceQualityMetric\x12\x44\n\x08\x66\x61ilures\x18\x01 \x03(\x0b\x32\x32.perfetto.protos.AndroidTraceQualityMetric.Failure\x1a\x17\n\x07\x46\x61ilure\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xa5\x01\n\x12UnsymbolizedFrames\x12\x39\n\x06\x66rames\x18\x01 \x03(\x0b\x32).perfetto.protos.UnsymbolizedFrames.Frame\x1aT\n\x05\x46rame\x12\x0e\n\x06module\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x03 \x01(\x03\x12\x18\n\x10google_lookup_id\x18\x04 \x01(\t\"z\n\x1e\x41ndroidWattsonTimePeriodMetric\x12\x16\n\x0emetric_version\x18\x01 \x01(\x05\x12@\n\x0bperiod_info\x18\x02 \x03(\x0b\x32+.perfetto.protos.AndroidWattsonEstimateInfo\"\x8f\x01\n\x1a\x41ndroidWattsonEstimateInfo\x12\x11\n\tperiod_id\x18\x01 \x01(\x05\x12\x12\n\nperiod_dur\x18\x02 \x01(\x03\x12J\n\rcpu_subsystem\x18\x03 \x01(\x0b\x32\x33.perfetto.protos.AndroidWattsonCpuSubsystemEstimate\"\xf9\x04\n\"AndroidWattsonCpuSubsystemEstimate\x12\x13\n\x0b\x65stimate_mw\x18\x01 \x01(\x02\x12>\n\x07policy0\x18\x02 \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07policy1\x18\x03 \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07policy2\x18\x04 \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07policy3\x18\x05 \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07policy4\x18\x06 \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07policy5\x18\x07 \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07policy6\x18\x08 \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07policy7\x18\t \x01(\x0b\x32-.perfetto.protos.AndroidWattsonPolicyEstimate\x12>\n\x07\x64su_scu\x18\n \x01(\x0b\x32-.perfetto.protos.AndroidWattsonDsuScuEstimate\"\x83\x04\n\x1c\x41ndroidWattsonPolicyEstimate\x12\x13\n\x0b\x65stimate_mw\x18\x01 \x01(\x02\x12\x38\n\x04\x63pu0\x18\x02 \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\x12\x38\n\x04\x63pu1\x18\x03 \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\x12\x38\n\x04\x63pu2\x18\x04 \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\x12\x38\n\x04\x63pu3\x18\x05 \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\x12\x38\n\x04\x63pu4\x18\x06 \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\x12\x38\n\x04\x63pu5\x18\x07 \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\x12\x38\n\x04\x63pu6\x18\x08 \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\x12\x38\n\x04\x63pu7\x18\t \x01(\x0b\x32*.perfetto.protos.AndroidWattsonCpuEstimate\"0\n\x19\x41ndroidWattsonCpuEstimate\x12\x13\n\x0b\x65stimate_mw\x18\x01 \x01(\x02\"3\n\x1c\x41ndroidWattsonDsuScuEstimate\x12\x13\n\x0b\x65stimate_mw\x18\x01 \x01(\x02\"z\n$AndroidWattsonTasksAttributionMetric\x12\x16\n\x0emetric_version\x18\x01 \x01(\x05\x12:\n\ttask_info\x18\x02 \x03(\x0b\x32\'.perfetto.protos.AndroidWattsonTaskInfo\"\xab\x01\n\x16\x41ndroidWattsonTaskInfo\x12\x13\n\x0b\x65stimate_mw\x18\x01 \x01(\x02\x12\x14\n\x0c\x65stimate_mws\x18\x02 \x01(\x02\x12\x13\n\x0bthread_name\x18\x03 \x01(\t\x12\x14\n\x0cprocess_name\x18\x04 \x01(\t\x12\x14\n\x0cpackage_name\x18\x05 \x01(\t\x12\x11\n\tthread_id\x18\x06 \x01(\x05\x12\x12\n\nprocess_id\x18\x07 \x01(\x05\"\xb3\x02\n\rTraceMetadata\x12\x19\n\x11trace_duration_ns\x18\x02 \x01(\x03\x12\x12\n\ntrace_uuid\x18\x03 \x01(\t\x12!\n\x19\x61ndroid_build_fingerprint\x18\x04 \x01(\t\x12)\n!statsd_triggering_subscription_id\x18\x05 \x01(\x03\x12\x18\n\x10trace_size_bytes\x18\x06 \x01(\x03\x12\x15\n\rtrace_trigger\x18\x07 \x03(\t\x12\x1b\n\x13unique_session_name\x18\x08 \x01(\t\x12\x1a\n\x12trace_config_pbtxt\x18\t \x01(\t\x12\x19\n\x11sched_duration_ns\x18\n \x01(\x03\x12\x1a\n\x12tracing_started_ns\x18\x0b \x01(\x03J\x04\x08\x01\x10\x02\"\xa1\x03\n\x12TraceAnalysisStats\x12\x36\n\x04stat\x18\x01 \x03(\x0b\x32(.perfetto.protos.TraceAnalysisStats.Stat\x1a\xac\x01\n\x04Stat\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03idx\x18\x02 \x01(\r\x12>\n\x08severity\x18\x03 \x01(\x0e\x32,.perfetto.protos.TraceAnalysisStats.Severity\x12:\n\x06source\x18\x04 \x01(\x0e\x32*.perfetto.protos.TraceAnalysisStats.Source\x12\r\n\x05\x63ount\x18\x05 \x01(\x03\"_\n\x08Severity\x12\x14\n\x10SEVERITY_UNKNOWN\x10\x00\x12\x11\n\rSEVERITY_INFO\x10\x01\x12\x16\n\x12SEVERITY_DATA_LOSS\x10\x02\x12\x12\n\x0eSEVERITY_ERROR\x10\x03\"C\n\x06Source\x12\x12\n\x0eSOURCE_UNKNOWN\x10\x00\x12\x10\n\x0cSOURCE_TRACE\x10\x01\x12\x13\n\x0fSOURCE_ANALYSIS\x10\x02\"\xc3$\n\x0cTraceMetrics\x12;\n\x0c\x61ndroid_batt\x18\x05 \x01(\x0b\x32%.perfetto.protos.AndroidBatteryMetric\x12\x36\n\x0b\x61ndroid_cpu\x18\x06 \x01(\x0b\x32!.perfetto.protos.AndroidCpuMetric\x12\x39\n\x0b\x61ndroid_mem\x18\x01 \x01(\x0b\x32$.perfetto.protos.AndroidMemoryMetric\x12K\n\x11\x61ndroid_mem_unagg\x18\x0b \x01(\x0b\x32\x30.perfetto.protos.AndroidMemoryUnaggregatedMetric\x12\x41\n\x14\x61ndroid_package_list\x18\x0c \x01(\x0b\x32#.perfetto.protos.AndroidPackageList\x12\x36\n\x0b\x61ndroid_ion\x18\t \x01(\x0b\x32!.perfetto.protos.AndroidIonMetric\x12>\n\x0f\x61ndroid_fastrpc\x18\x1f \x01(\x0b\x32%.perfetto.protos.AndroidFastrpcMetric\x12\x36\n\x0b\x61ndroid_lmk\x18\x08 \x01(\x0b\x32!.perfetto.protos.AndroidLmkMetric\x12<\n\x10\x61ndroid_powrails\x18\x07 \x01(\x0b\x32\".perfetto.protos.AndroidPowerRails\x12>\n\x0f\x61ndroid_startup\x18\x02 \x01(\x0b\x32%.perfetto.protos.AndroidStartupMetric\x12\x36\n\x0etrace_metadata\x18\x03 \x01(\x0b\x32\x1e.perfetto.protos.TraceMetadata\x12\x38\n\x0btrace_stats\x18! \x01(\x0b\x32#.perfetto.protos.TraceAnalysisStats\x12@\n\x13unsymbolized_frames\x18\x0f \x01(\x0b\x32#.perfetto.protos.UnsymbolizedFrames\x12\x37\n\x0fjava_heap_stats\x18\x11 \x01(\x0b\x32\x1e.perfetto.protos.JavaHeapStats\x12?\n\x13java_heap_histogram\x18\x15 \x01(\x0b\x32\".perfetto.protos.JavaHeapHistogram\x12\x42\n\x15java_heap_class_stats\x18\x43 \x01(\x0b\x32#.perfetto.protos.JavaHeapClassStats\x12\x43\n\x12\x61ndroid_lmk_reason\x18\x12 \x01(\x0b\x32\'.perfetto.protos.AndroidLmkReasonMetric\x12?\n\x13\x61ndroid_hwui_metric\x18\x14 \x01(\x0b\x32\".perfetto.protos.AndroidHwuiMetric\x12?\n\x0f\x64isplay_metrics\x18\x16 \x01(\x0b\x32&.perfetto.protos.AndroidDisplayMetrics\x12=\n\x12\x61ndroid_task_names\x18\x17 \x01(\x0b\x32!.perfetto.protos.AndroidTaskNames\x12L\n\x16\x61ndroid_surfaceflinger\x18\x19 \x01(\x0b\x32,.perfetto.protos.AndroidSurfaceflingerMetric\x12\x36\n\x0b\x61ndroid_gpu\x18\x1a \x01(\x0b\x32!.perfetto.protos.AndroidGpuMetric\x12?\n\x10\x61ndroid_jank_cuj\x18\x30 \x01(\x0b\x32%.perfetto.protos.AndroidJankCujMetric\x12\x45\n\x12\x61ndroid_hwcomposer\x18\x1c \x01(\x0b\x32).perfetto.protos.AndroidHwcomposerMetrics\x12(\n\x03g2d\x18\x1e \x01(\x0b\x32\x1b.perfetto.protos.G2dMetrics\x12?\n\x10\x61ndroid_dma_heap\x18 \x01(\x0b\x32%.perfetto.protos.AndroidDmaHeapMetric\x12I\n\x15\x61ndroid_trace_quality\x18\" \x01(\x0b\x32*.perfetto.protos.AndroidTraceQualityMetric\x12\x36\n\x0eprofiler_smaps\x18# \x01(\x0b\x32\x1e.perfetto.protos.ProfilerSmaps\x12\x42\n\x11\x61ndroid_multiuser\x18$ \x01(\x0b\x32\'.perfetto.protos.AndroidMultiuserMetric\x12\x44\n\x12\x61ndroid_simpleperf\x18% \x01(\x0b\x32(.perfetto.protos.AndroidSimpleperfMetric\x12<\n\x0e\x61ndroid_camera\x18& \x01(\x0b\x32$.perfetto.protos.AndroidCameraMetric\x12\x38\n\x0c\x61ndroid_dvfs\x18\' \x01(\x0b\x32\".perfetto.protos.AndroidDvfsMetric\x12>\n\x0f\x61ndroid_netperf\x18( \x01(\x0b\x32%.perfetto.protos.AndroidNetworkMetric\x12N\n\x14\x61ndroid_camera_unagg\x18) \x01(\x0b\x32\x30.perfetto.protos.AndroidCameraUnaggregatedMetric\x12\x43\n\x12\x61ndroid_rt_runtime\x18* \x01(\x0b\x32\'.perfetto.protos.AndroidRtRuntimeMetric\x12\x45\n\x13\x61ndroid_irq_runtime\x18+ \x01(\x0b\x32(.perfetto.protos.AndroidIrqRuntimeMetric\x12K\n\x19\x61ndroid_trusty_workqueues\x18, \x01(\x0b\x32(.perfetto.protos.AndroidTrustyWorkqueues\x12G\n\x14\x61ndroid_other_traces\x18- \x01(\x0b\x32).perfetto.protos.AndroidOtherTracesMetric\x12<\n\x0e\x61ndroid_binder\x18. \x01(\x0b\x32$.perfetto.protos.AndroidBinderMetric\x12R\n\x1d\x61ndroid_frame_timeline_metric\x18/ \x01(\x0b\x32+.perfetto.protos.AndroidFrameTimelineMetric\x12Y\n!android_blocking_calls_cuj_metric\x18\x31 \x01(\x0b\x32..perfetto.protos.AndroidBlockingCallsCujMetric\x12S\n\x1a\x61ndroid_monitor_contention\x18\x32 \x01(\x0b\x32/.perfetto.protos.AndroidMonitorContentionMetric\x12x\n1android_sysui_notifications_blocking_calls_metric\x18\x33 \x01(\x0b\x32=.perfetto.protos.AndroidSysUINotificationsBlockingCallsMetric\x12;\n\rcodec_metrics\x18\x34 \x01(\x0b\x32$.perfetto.protos.AndroidCodecMetrics\x12.\n\nandroid_io\x18\x35 \x01(\x0b\x32\x1a.perfetto.protos.AndroidIo\x12@\n\x10\x61ndroid_io_unagg\x18\x36 \x01(\x0b\x32&.perfetto.protos.AndroidIoUnaggregated\x12\x36\n\x0b\x61ndroid_anr\x18\x37 \x01(\x0b\x32!.perfetto.protos.AndroidAnrMetric\x12Z\n\x1e\x61ndroid_monitor_contention_agg\x18\x38 \x01(\x0b\x32\x32.perfetto.protos.AndroidMonitorContentionAggMetric\x12\x38\n\x0c\x61ndroid_boot\x18\x39 \x01(\x0b\x32\".perfetto.protos.AndroidBootMetric\x12=\n\x12\x61\x64_services_metric\x18: \x01(\x0b\x32!.perfetto.protos.AdServicesMetric\x12`\n%sysui_notif_shade_list_builder_metric\x18; \x01(\x0b\x32\x31.perfetto.protos.SysuiNotifShadeListBuilderMetric\x12l\n,sysui_update_notif_on_ui_mode_changed_metric\x18< \x01(\x0b\x32\x36.perfetto.protos.SysuiUpdateNotifOnUiModeChangedMetric\x12R\n\x1a\x61ndroid_app_process_starts\x18= \x01(\x0b\x32..perfetto.protos.AndroidAppProcessStartsMetric\x12=\n\x12\x61ndroid_boot_unagg\x18> \x01(\x0b\x32!.perfetto.protos.AndroidBootUnagg\x12^\n android_garbage_collection_unagg\x18? \x01(\x0b\x32\x34.perfetto.protos.AndroidGarbageCollectionUnaggMetric\x12K\n\x16\x61ndroid_auto_multiuser\x18@ \x01(\x0b\x32+.perfetto.protos.AndroidAutoMultiuserMetric\x12P\n\x1c\x61ndroid_blocking_calls_unagg\x18\x41 \x01(\x0b\x32*.perfetto.protos.AndroidBlockingCallsUnagg\x12G\n\x14\x61ndroid_oom_adjuster\x18\x42 \x01(\x0b\x32).perfetto.protos.AndroidOomAdjusterMetric\x12\x44\n\x12\x61ndroid_broadcasts\x18\x44 \x01(\x0b\x32(.perfetto.protos.AndroidBroadcastsMetric\x12R\n\x19wattson_app_startup_rails\x18\x45 \x01(\x0b\x32/.perfetto.protos.AndroidWattsonTimePeriodMetric\x12L\n\x13wattson_trace_rails\x18\x46 \x01(\x0b\x32/.perfetto.protos.AndroidWattsonTimePeriodMetric\x12>\n\x0f\x61ndroid_anomaly\x18G \x01(\x0b\x32%.perfetto.protos.AndroidAnomalyMetric\x12T\n\x15wattson_trace_threads\x18H \x01(\x0b\x32\x35.perfetto.protos.AndroidWattsonTasksAttributionMetric\x12V\n\x17wattson_markers_threads\x18I \x01(\x0b\x32\x35.perfetto.protos.AndroidWattsonTasksAttributionMetric\x12N\n\x15wattson_markers_rails\x18J \x01(\x0b\x32/.perfetto.protos.AndroidWattsonTimePeriodMetric*\x06\x08\xc2\x03\x10\xf4\x03*\x06\x08\xf4\x03\x10\xe9\x07*\x06\x08\xe9\x07\x10\xd1\x0f*\x06\x08\xd1\x0f\x10\xc5\x13J\x04\x08\x04\x10\x05J\x04\x08\n\x10\x0bJ\x04\x08\r\x10\x0eJ\x04\x08\x0e\x10\x0fJ\x04\x08\x10\x10\x11J\x04\x08\x13\x10\x14J\x04\x08\x18\x10\x19J\x04\x08\x1b\x10\x1cJ\x04\x08\x1d\x10\x1e\x42+Z)github.com/google/perfetto/perfetto_proto') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.perfetto_merged_metrics_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z)github.com/google/perfetto/perfetto_proto' + _globals['_ANDROIDSTARTUPMETRIC_SYSTEMSTATE'].fields_by_name['dex2oat_running']._loaded_options = None + _globals['_ANDROIDSTARTUPMETRIC_SYSTEMSTATE'].fields_by_name['dex2oat_running']._serialized_options = b'\030\001' + _globals['_ANDROIDSTARTUPMETRIC_SYSTEMSTATE'].fields_by_name['installd_running']._loaded_options = None + _globals['_ANDROIDSTARTUPMETRIC_SYSTEMSTATE'].fields_by_name['installd_running']._serialized_options = b'\030\001' + _globals['_ADSERVICESUIMETRIC']._serialized_start=75 + _globals['_ADSERVICESUIMETRIC']._serialized_end=403 + _globals['_ADSERVICESADIDMETRIC']._serialized_start=405 + _globals['_ADSERVICESADIDMETRIC']._serialized_end=444 + _globals['_ADSERVICESAPPSETIDMETRIC']._serialized_start=446 + _globals['_ADSERVICESAPPSETIDMETRIC']._serialized_end=489 + _globals['_ONDEVICEPERSONALIZATIONMETRIC']._serialized_start=492 + _globals['_ONDEVICEPERSONALIZATIONMETRIC']._serialized_end=732 + _globals['_ADSERVICESMETRIC']._serialized_start=735 + _globals['_ADSERVICESMETRIC']._serialized_end=1008 + _globals['_ANDROIDANOMALYMETRIC']._serialized_start=1011 + _globals['_ANDROIDANOMALYMETRIC']._serialized_end=1486 + _globals['_ANDROIDANOMALYMETRIC_PROCESSANOMALY']._serialized_start=1097 + _globals['_ANDROIDANOMALYMETRIC_PROCESSANOMALY']._serialized_end=1221 + _globals['_ANDROIDANOMALYMETRIC_BINDER']._serialized_start=1224 + _globals['_ANDROIDANOMALYMETRIC_BINDER']._serialized_end=1434 + _globals['_ANDROIDANOMALYMETRIC_UNIT']._serialized_start=1436 + _globals['_ANDROIDANOMALYMETRIC_UNIT']._serialized_end=1486 + _globals['_ANDROIDBLOCKINGCALL']._serialized_start=1489 + _globals['_ANDROIDBLOCKINGCALL']._serialized_end=1701 + _globals['_ANDROIDPROCESSMETADATA']._serialized_start=1704 + _globals['_ANDROIDPROCESSMETADATA']._serialized_end=1943 + _globals['_ANDROIDPROCESSMETADATA_PACKAGE']._serialized_start=1836 + _globals['_ANDROIDPROCESSMETADATA_PACKAGE']._serialized_end=1913 + _globals['_ANDROIDBLOCKINGCALLSCUJMETRIC']._serialized_start=1946 + _globals['_ANDROIDBLOCKINGCALLSCUJMETRIC']._serialized_end=2221 + _globals['_ANDROIDBLOCKINGCALLSCUJMETRIC_CUJ']._serialized_start=2045 + _globals['_ANDROIDBLOCKINGCALLSCUJMETRIC_CUJ']._serialized_end=2221 + _globals['_ANDROIDBLOCKINGCALLSUNAGG']._serialized_start=2224 + _globals['_ANDROIDBLOCKINGCALLSUNAGG']._serialized_end=2506 + _globals['_ANDROIDBLOCKINGCALLSUNAGG_PROCESSWITHBLOCKINGCALLS']._serialized_start=2360 + _globals['_ANDROIDBLOCKINGCALLSUNAGG_PROCESSWITHBLOCKINGCALLS']._serialized_end=2506 + _globals['_PROCESSSTATEDURATIONS']._serialized_start=2508 + _globals['_PROCESSSTATEDURATIONS']._serialized_end=2585 + _globals['_ANDROIDBOOTMETRIC']._serialized_start=2588 + _globals['_ANDROIDBOOTMETRIC']._serialized_end=5594 + _globals['_ANDROIDBOOTMETRIC_LAUNCHERBREAKDOWN']._serialized_start=4558 + _globals['_ANDROIDBOOTMETRIC_LAUNCHERBREAKDOWN']._serialized_end=4601 + _globals['_ANDROIDBOOTMETRIC_PROCESSSTARTAGGREGATION']._serialized_start=4603 + _globals['_ANDROIDBOOTMETRIC_PROCESSSTARTAGGREGATION']._serialized_end=4707 + _globals['_ANDROIDBOOTMETRIC_GARBAGECOLLECTIONAGGREGATION']._serialized_start=4710 + _globals['_ANDROIDBOOTMETRIC_GARBAGECOLLECTIONAGGREGATION']._serialized_end=5081 + _globals['_ANDROIDBOOTMETRIC_OOMADJUSTERTRANSITIONCOUNTS']._serialized_start=5083 + _globals['_ANDROIDBOOTMETRIC_OOMADJUSTERTRANSITIONCOUNTS']._serialized_end=5182 + _globals['_ANDROIDBOOTMETRIC_OOMADJBUCKETDURATIONAGGREGATION']._serialized_start=5184 + _globals['_ANDROIDBOOTMETRIC_OOMADJBUCKETDURATIONAGGREGATION']._serialized_end=5266 + _globals['_ANDROIDBOOTMETRIC_OOMADJDURATIONAGGREGATION']._serialized_start=5269 + _globals['_ANDROIDBOOTMETRIC_OOMADJDURATIONAGGREGATION']._serialized_end=5424 + _globals['_ANDROIDBOOTMETRIC_BROADCASTCOUNTAGGREGATION']._serialized_start=5426 + _globals['_ANDROIDBOOTMETRIC_BROADCASTCOUNTAGGREGATION']._serialized_end=5482 + _globals['_ANDROIDBOOTMETRIC_BROADCASTDURATIONAGGREGATION']._serialized_start=5484 + _globals['_ANDROIDBOOTMETRIC_BROADCASTDURATIONAGGREGATION']._serialized_end=5594 + _globals['_ANDROIDGARBAGECOLLECTIONUNAGGMETRIC']._serialized_start=5597 + _globals['_ANDROIDGARBAGECOLLECTIONUNAGGMETRIC']._serialized_end=6175 + _globals['_ANDROIDGARBAGECOLLECTIONUNAGGMETRIC_GARBAGECOLLECTIONEVENT']._serialized_start=5733 + _globals['_ANDROIDGARBAGECOLLECTIONUNAGGMETRIC_GARBAGECOLLECTIONEVENT']._serialized_end=6175 + _globals['_ANDROIDAPPPROCESSSTARTSMETRIC']._serialized_start=6178 + _globals['_ANDROIDAPPPROCESSSTARTSMETRIC']._serialized_end=6624 + _globals['_ANDROIDAPPPROCESSSTARTSMETRIC_PROCESSSTART']._serialized_start=6471 + _globals['_ANDROIDAPPPROCESSSTARTSMETRIC_PROCESSSTART']._serialized_end=6624 + _globals['_ANDROIDBOOTUNAGG']._serialized_start=6627 + _globals['_ANDROIDBOOTUNAGG']._serialized_end=6826 + _globals['_ANDROIDBROADCASTSMETRIC']._serialized_start=6829 + _globals['_ANDROIDBROADCASTSMETRIC']._serialized_end=7454 + _globals['_ANDROIDBROADCASTSMETRIC_BROADCASTCOUNTAGGREGATION']._serialized_start=5426 + _globals['_ANDROIDBROADCASTSMETRIC_BROADCASTCOUNTAGGREGATION']._serialized_end=5482 + _globals['_ANDROIDBROADCASTSMETRIC_BROADCASTDURATIONAGGREGATION']._serialized_start=5484 + _globals['_ANDROIDBROADCASTSMETRIC_BROADCASTDURATIONAGGREGATION']._serialized_end=5594 + _globals['_ANDROIDFRAMETIMELINEMETRIC']._serialized_start=7457 + _globals['_ANDROIDFRAMETIMELINEMETRIC']._serialized_end=8497 + _globals['_ANDROIDFRAMETIMELINEMETRIC_JANKTYPEMETRIC']._serialized_start=7720 + _globals['_ANDROIDFRAMETIMELINEMETRIC_JANKTYPEMETRIC']._serialized_end=7956 + _globals['_ANDROIDFRAMETIMELINEMETRIC_PROCESSBREAKDOWN']._serialized_start=7959 + _globals['_ANDROIDFRAMETIMELINEMETRIC_PROCESSBREAKDOWN']._serialized_end=8491 + _globals['_ANDROIDOOMADJUSTERMETRIC']._serialized_start=8500 + _globals['_ANDROIDOOMADJUSTERMETRIC']._serialized_end=9579 + _globals['_ANDROIDOOMADJUSTERMETRIC_OOMADJUSTERTRANSITIONCOUNTS']._serialized_start=5083 + _globals['_ANDROIDOOMADJUSTERMETRIC_OOMADJUSTERTRANSITIONCOUNTS']._serialized_end=5182 + _globals['_ANDROIDOOMADJUSTERMETRIC_OOMADJBUCKETDURATIONAGGREGATION']._serialized_start=5184 + _globals['_ANDROIDOOMADJUSTERMETRIC_OOMADJBUCKETDURATIONAGGREGATION']._serialized_end=5266 + _globals['_ANDROIDOOMADJUSTERMETRIC_OOMADJDURATIONAGGREGATION']._serialized_start=5269 + _globals['_ANDROIDOOMADJUSTERMETRIC_OOMADJDURATIONAGGREGATION']._serialized_end=5424 + _globals['_ANDROIDSYSUINOTIFICATIONSBLOCKINGCALLSMETRIC']._serialized_start=9581 + _globals['_ANDROIDSYSUINOTIFICATIONSBLOCKINGCALLSMETRIC']._serialized_end=9689 + _globals['_ANDROIDTRUSTYWORKQUEUES']._serialized_start=9691 + _globals['_ANDROIDTRUSTYWORKQUEUES']._serialized_end=9716 + _globals['_ANDROIDANRMETRIC']._serialized_start=9719 + _globals['_ANDROIDANRMETRIC']._serialized_end=9878 + _globals['_ANDROIDANRMETRIC_ANR']._serialized_start=9791 + _globals['_ANDROIDANRMETRIC_ANR']._serialized_end=9878 + _globals['_ANDROIDAUTOMULTIUSERMETRIC']._serialized_start=9881 + _globals['_ANDROIDAUTOMULTIUSERMETRIC']._serialized_end=10256 + _globals['_ANDROIDAUTOMULTIUSERMETRIC_EVENTDATA']._serialized_start=9988 + _globals['_ANDROIDAUTOMULTIUSERMETRIC_EVENTDATA']._serialized_end=10256 + _globals['_ANDROIDAUTOMULTIUSERMETRIC_EVENTDATA_USERDATA']._serialized_start=10171 + _globals['_ANDROIDAUTOMULTIUSERMETRIC_EVENTDATA_USERDATA']._serialized_end=10256 + _globals['_ANDROIDBATTERYMETRIC']._serialized_start=10259 + _globals['_ANDROIDBATTERYMETRIC']._serialized_end=10965 + _globals['_ANDROIDBATTERYMETRIC_BATTERYCOUNTERS']._serialized_start=10527 + _globals['_ANDROIDBATTERYMETRIC_BATTERYCOUNTERS']._serialized_end=10664 + _globals['_ANDROIDBATTERYMETRIC_BATTERYAGGREGATES']._serialized_start=10667 + _globals['_ANDROIDBATTERYMETRIC_BATTERYAGGREGATES']._serialized_end=10905 + _globals['_ANDROIDBATTERYMETRIC_SUSPENDPERIOD']._serialized_start=10907 + _globals['_ANDROIDBATTERYMETRIC_SUSPENDPERIOD']._serialized_end=10965 + _globals['_ANDROIDBINDERMETRIC']._serialized_start=10968 + _globals['_ANDROIDBINDERMETRIC']._serialized_end=12534 + _globals['_ANDROIDBINDERMETRIC_PERPROCESSBREAKDOWN']._serialized_start=11175 + _globals['_ANDROIDBINDERMETRIC_PERPROCESSBREAKDOWN']._serialized_end=11266 + _globals['_ANDROIDBINDERMETRIC_UNAGGREGATEDTXNBREAKDOWN']._serialized_start=11269 + _globals['_ANDROIDBINDERMETRIC_UNAGGREGATEDTXNBREAKDOWN']._serialized_end=12174 + _globals['_ANDROIDBINDERMETRIC_THREADSTATEBREAKDOWN']._serialized_start=12176 + _globals['_ANDROIDBINDERMETRIC_THREADSTATEBREAKDOWN']._serialized_end=12301 + _globals['_ANDROIDBINDERMETRIC_BLOCKEDFUNCTIONBREAKDOWN']._serialized_start=12304 + _globals['_ANDROIDBINDERMETRIC_BLOCKEDFUNCTIONBREAKDOWN']._serialized_end=12445 + _globals['_ANDROIDBINDERMETRIC_LOGICALREASONBREAKDOWN']._serialized_start=12447 + _globals['_ANDROIDBINDERMETRIC_LOGICALREASONBREAKDOWN']._serialized_end=12534 + _globals['_ANDROIDCAMERAMETRIC']._serialized_start=12537 + _globals['_ANDROIDCAMERAMETRIC']._serialized_end=12678 + _globals['_ANDROIDCAMERAMETRIC_COUNTER']._serialized_start=12630 + _globals['_ANDROIDCAMERAMETRIC_COUNTER']._serialized_end=12678 + _globals['_ANDROIDCAMERAUNAGGREGATEDMETRIC']._serialized_start=12681 + _globals['_ANDROIDCAMERAUNAGGREGATEDMETRIC']._serialized_end=12919 + _globals['_ANDROIDCAMERAUNAGGREGATEDMETRIC_VALUE']._serialized_start=12796 + _globals['_ANDROIDCAMERAUNAGGREGATEDMETRIC_VALUE']._serialized_end=12919 + _globals['_ANDROIDCPUMETRIC']._serialized_start=12922 + _globals['_ANDROIDCPUMETRIC']._serialized_end=13849 + _globals['_ANDROIDCPUMETRIC_METRICS']._serialized_start=13007 + _globals['_ANDROIDCPUMETRIC_METRICS']._serialized_end=13119 + _globals['_ANDROIDCPUMETRIC_COREDATA']._serialized_start=13121 + _globals['_ANDROIDCPUMETRIC_COREDATA']._serialized_end=13209 + _globals['_ANDROIDCPUMETRIC_CORETYPEDATA']._serialized_start=13211 + _globals['_ANDROIDCPUMETRIC_CORETYPEDATA']._serialized_end=13299 + _globals['_ANDROIDCPUMETRIC_THREAD']._serialized_start=13302 + _globals['_ANDROIDCPUMETRIC_THREAD']._serialized_end=13515 + _globals['_ANDROIDCPUMETRIC_PROCESS']._serialized_start=13518 + _globals['_ANDROIDCPUMETRIC_PROCESS']._serialized_end=13849 + _globals['_ANDROIDCODECMETRICS']._serialized_start=13852 + _globals['_ANDROIDCODECMETRICS']._serialized_end=14387 + _globals['_ANDROIDCODECMETRICS_DETAIL']._serialized_start=14017 + _globals['_ANDROIDCODECMETRICS_DETAIL']._serialized_end=14092 + _globals['_ANDROIDCODECMETRICS_CODECFUNCTION']._serialized_start=14094 + _globals['_ANDROIDCODECMETRICS_CODECFUNCTION']._serialized_end=14214 + _globals['_ANDROIDCODECMETRICS_CPUUSAGE']._serialized_start=14217 + _globals['_ANDROIDCODECMETRICS_CPUUSAGE']._serialized_end=14387 + _globals['_ANDROIDDISPLAYMETRICS']._serialized_start=14390 + _globals['_ANDROIDDISPLAYMETRICS']._serialized_end=14872 + _globals['_ANDROIDDISPLAYMETRICS_REFRESHRATESTAT']._serialized_start=14714 + _globals['_ANDROIDDISPLAYMETRICS_REFRESHRATESTAT']._serialized_end=14814 + _globals['_ANDROIDDISPLAYMETRICS_UPDATEPOWERSTATE']._serialized_start=14816 + _globals['_ANDROIDDISPLAYMETRICS_UPDATEPOWERSTATE']._serialized_end=14872 + _globals['_ANDROIDDMAHEAPMETRIC']._serialized_start=14875 + _globals['_ANDROIDDMAHEAPMETRIC']._serialized_end=15162 + _globals['_ANDROIDDMAHEAPMETRIC_PROCESSSTATS']._serialized_start=15105 + _globals['_ANDROIDDMAHEAPMETRIC_PROCESSSTATS']._serialized_end=15162 + _globals['_ANDROIDDVFSMETRIC']._serialized_start=15165 + _globals['_ANDROIDDVFSMETRIC']._serialized_end=15443 + _globals['_ANDROIDDVFSMETRIC_BANDSTAT']._serialized_start=15267 + _globals['_ANDROIDDVFSMETRIC_BANDSTAT']._serialized_end=15338 + _globals['_ANDROIDDVFSMETRIC_FREQUENCYRESIDENCY']._serialized_start=15340 + _globals['_ANDROIDDVFSMETRIC_FREQUENCYRESIDENCY']._serialized_end=15443 + _globals['_ANDROIDFASTRPCMETRIC']._serialized_start=15446 + _globals['_ANDROIDFASTRPCMETRIC']._serialized_end=15668 + _globals['_ANDROIDFASTRPCMETRIC_SUBSYSTEM']._serialized_start=15539 + _globals['_ANDROIDFASTRPCMETRIC_SUBSYSTEM']._serialized_end=15668 + _globals['_G2DMETRICS']._serialized_start=15671 + _globals['_G2DMETRICS']._serialized_end=16113 + _globals['_G2DMETRICS_G2DINSTANCE']._serialized_start=15796 + _globals['_G2DMETRICS_G2DINSTANCE']._serialized_end=15931 + _globals['_G2DMETRICS_G2DMETRIC']._serialized_start=15934 + _globals['_G2DMETRICS_G2DMETRIC']._serialized_end=16113 + _globals['_ANDROIDGPUMETRIC']._serialized_start=16116 + _globals['_ANDROIDGPUMETRIC']._serialized_end=16650 + _globals['_ANDROIDGPUMETRIC_PROCESS']._serialized_start=16322 + _globals['_ANDROIDGPUMETRIC_PROCESS']._serialized_end=16396 + _globals['_ANDROIDGPUMETRIC_FREQUENCYMETRIC']._serialized_start=16399 + _globals['_ANDROIDGPUMETRIC_FREQUENCYMETRIC']._serialized_end=16650 + _globals['_ANDROIDGPUMETRIC_FREQUENCYMETRIC_METRICSPERFREQUENCY']._serialized_start=16579 + _globals['_ANDROIDGPUMETRIC_FREQUENCYMETRIC_METRICSPERFREQUENCY']._serialized_end=16650 + _globals['_ANDROIDHWCOMPOSERMETRICS']._serialized_start=16653 + _globals['_ANDROIDHWCOMPOSERMETRICS']._serialized_end=18048 + _globals['_ANDROIDHWCOMPOSERMETRICS_DPUVOTEMETRICS']._serialized_start=17359 + _globals['_ANDROIDHWCOMPOSERMETRICS_DPUVOTEMETRICS']._serialized_end=17503 + _globals['_ANDROIDHWCOMPOSERMETRICS_METRICSPERDISPLAY']._serialized_start=17506 + _globals['_ANDROIDHWCOMPOSERMETRICS_METRICSPERDISPLAY']._serialized_end=18048 + _globals['_PROCESSRENDERINFO']._serialized_start=18051 + _globals['_PROCESSRENDERINFO']._serialized_end=19158 + _globals['_ANDROIDHWUIMETRIC']._serialized_start=19160 + _globals['_ANDROIDHWUIMETRIC']._serialized_end=19237 + _globals['_ANDROIDIO']._serialized_start=19240 + _globals['_ANDROIDIO']._serialized_end=19702 + _globals['_ANDROIDIO_F2FSCOUNTERSTATS']._serialized_start=19395 + _globals['_ANDROIDIO_F2FSCOUNTERSTATS']._serialized_end=19507 + _globals['_ANDROIDIO_F2FSWRITESTATS']._serialized_start=19510 + _globals['_ANDROIDIO_F2FSWRITESTATS']._serialized_end=19702 + _globals['_ANDROIDIOUNAGGREGATED']._serialized_start=19705 + _globals['_ANDROIDIOUNAGGREGATED']._serialized_end=19959 + _globals['_ANDROIDIOUNAGGREGATED_F2FSWRITEUNAGGREAGATEDSTAT']._serialized_start=19836 + _globals['_ANDROIDIOUNAGGREGATED_F2FSWRITEUNAGGREAGATEDSTAT']._serialized_end=19959 + _globals['_ANDROIDIONMETRIC']._serialized_start=19962 + _globals['_ANDROIDIONMETRIC']._serialized_end=20166 + _globals['_ANDROIDIONMETRIC_BUFFER']._serialized_start=20040 + _globals['_ANDROIDIONMETRIC_BUFFER']._serialized_end=20166 + _globals['_ANDROIDIRQRUNTIMEMETRIC']._serialized_start=20169 + _globals['_ANDROIDIRQRUNTIMEMETRIC']._serialized_end=20716 + _globals['_ANDROIDIRQRUNTIMEMETRIC_IRQSLICE']._serialized_start=20346 + _globals['_ANDROIDIRQRUNTIMEMETRIC_IRQSLICE']._serialized_end=20399 + _globals['_ANDROIDIRQRUNTIMEMETRIC_THRESHOLDMETRIC']._serialized_start=20401 + _globals['_ANDROIDIRQRUNTIMEMETRIC_THRESHOLDMETRIC']._serialized_end=20490 + _globals['_ANDROIDIRQRUNTIMEMETRIC_IRQRUNTIMEMETRIC']._serialized_start=20493 + _globals['_ANDROIDIRQRUNTIMEMETRIC_IRQRUNTIMEMETRIC']._serialized_end=20716 + _globals['_ANDROIDJANKCUJMETRIC']._serialized_start=20719 + _globals['_ANDROIDJANKCUJMETRIC']._serialized_end=21925 + _globals['_ANDROIDJANKCUJMETRIC_CUJ']._serialized_start=20800 + _globals['_ANDROIDJANKCUJMETRIC_CUJ']._serialized_end=21272 + _globals['_ANDROIDJANKCUJMETRIC_FRAME']._serialized_start=21275 + _globals['_ANDROIDJANKCUJMETRIC_FRAME']._serialized_end=21463 + _globals['_ANDROIDJANKCUJMETRIC_METRICS']._serialized_start=21466 + _globals['_ANDROIDJANKCUJMETRIC_METRICS']._serialized_end=21925 + _globals['_JAVAHEAPCLASSSTATS']._serialized_start=21928 + _globals['_JAVAHEAPCLASSSTATS']._serialized_end=22589 + _globals['_JAVAHEAPCLASSSTATS_TYPECOUNT']._serialized_start=22026 + _globals['_JAVAHEAPCLASSSTATS_TYPECOUNT']._serialized_end=22349 + _globals['_JAVAHEAPCLASSSTATS_SAMPLE']._serialized_start=22351 + _globals['_JAVAHEAPCLASSSTATS_SAMPLE']._serialized_end=22438 + _globals['_JAVAHEAPCLASSSTATS_INSTANCESTATS']._serialized_start=22441 + _globals['_JAVAHEAPCLASSSTATS_INSTANCESTATS']._serialized_end=22589 + _globals['_JAVAHEAPHISTOGRAM']._serialized_start=22592 + _globals['_JAVAHEAPHISTOGRAM']._serialized_end=23124 + _globals['_JAVAHEAPHISTOGRAM_TYPECOUNT']._serialized_start=22688 + _globals['_JAVAHEAPHISTOGRAM_TYPECOUNT']._serialized_end=22886 + _globals['_JAVAHEAPHISTOGRAM_SAMPLE']._serialized_start=22888 + _globals['_JAVAHEAPHISTOGRAM_SAMPLE']._serialized_end=22974 + _globals['_JAVAHEAPHISTOGRAM_INSTANCESTATS']._serialized_start=22977 + _globals['_JAVAHEAPHISTOGRAM_INSTANCESTATS']._serialized_end=23124 + _globals['_JAVAHEAPSTATS']._serialized_start=23127 + _globals['_JAVAHEAPSTATS']._serialized_end=23748 + _globals['_JAVAHEAPSTATS_HEAPROOTS']._serialized_start=23214 + _globals['_JAVAHEAPSTATS_HEAPROOTS']._serialized_end=23282 + _globals['_JAVAHEAPSTATS_SAMPLE']._serialized_start=23285 + _globals['_JAVAHEAPSTATS_SAMPLE']._serialized_end=23602 + _globals['_JAVAHEAPSTATS_INSTANCESTATS']._serialized_start=23605 + _globals['_JAVAHEAPSTATS_INSTANCESTATS']._serialized_end=23748 + _globals['_ANDROIDLMKMETRIC']._serialized_start=23751 + _globals['_ANDROIDLMKMETRIC']._serialized_end=23936 + _globals['_ANDROIDLMKMETRIC_BYOOMSCORE']._serialized_start=23886 + _globals['_ANDROIDLMKMETRIC_BYOOMSCORE']._serialized_end=23936 + _globals['_ANDROIDLMKREASONMETRIC']._serialized_start=23939 + _globals['_ANDROIDLMKREASONMETRIC']._serialized_end=24376 + _globals['_ANDROIDLMKREASONMETRIC_PROCESS']._serialized_start=24025 + _globals['_ANDROIDLMKREASONMETRIC_PROCESS']._serialized_end=24222 + _globals['_ANDROIDLMKREASONMETRIC_LMK']._serialized_start=24225 + _globals['_ANDROIDLMKREASONMETRIC_LMK']._serialized_end=24376 + _globals['_ANDROIDMEMORYMETRIC']._serialized_start=24379 + _globals['_ANDROIDMEMORYMETRIC']._serialized_end=25217 + _globals['_ANDROIDMEMORYMETRIC_PROCESSMETRICS']._serialized_start=24481 + _globals['_ANDROIDMEMORYMETRIC_PROCESSMETRICS']._serialized_end=24687 + _globals['_ANDROIDMEMORYMETRIC_PRIORITYBREAKDOWN']._serialized_start=24689 + _globals['_ANDROIDMEMORYMETRIC_PRIORITYBREAKDOWN']._serialized_end=24804 + _globals['_ANDROIDMEMORYMETRIC_PROCESSMEMORYCOUNTERS']._serialized_start=24807 + _globals['_ANDROIDMEMORYMETRIC_PROCESSMEMORYCOUNTERS']._serialized_end=25152 + _globals['_ANDROIDMEMORYMETRIC_COUNTER']._serialized_start=25154 + _globals['_ANDROIDMEMORYMETRIC_COUNTER']._serialized_end=25217 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC']._serialized_start=25220 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC']._serialized_end=25846 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC_PROCESSVALUES']._serialized_start=25343 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC_PROCESSVALUES']._serialized_end=25470 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC_PROCESSMEMORYVALUES']._serialized_start=25473 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC_PROCESSMEMORYVALUES']._serialized_end=25791 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC_VALUE']._serialized_start=25793 + _globals['_ANDROIDMEMORYUNAGGREGATEDMETRIC_VALUE']._serialized_end=25846 + _globals['_ANDROIDMONITORCONTENTIONAGGMETRIC']._serialized_start=25849 + _globals['_ANDROIDMONITORCONTENTIONAGGMETRIC']._serialized_end=26157 + _globals['_ANDROIDMONITORCONTENTIONAGGMETRIC_PROCESSAGGREGATION']._serialized_start=25987 + _globals['_ANDROIDMONITORCONTENTIONAGGMETRIC_PROCESSAGGREGATION']._serialized_end=26157 + _globals['_ANDROIDMONITORCONTENTIONMETRIC']._serialized_start=26160 + _globals['_ANDROIDMONITORCONTENTIONMETRIC']._serialized_end=27233 + _globals['_ANDROIDMONITORCONTENTIONMETRIC_NODE']._serialized_start=26263 + _globals['_ANDROIDMONITORCONTENTIONMETRIC_NODE']._serialized_end=27017 + _globals['_ANDROIDMONITORCONTENTIONMETRIC_THREADSTATEBREAKDOWN']._serialized_start=27019 + _globals['_ANDROIDMONITORCONTENTIONMETRIC_THREADSTATEBREAKDOWN']._serialized_end=27117 + _globals['_ANDROIDMONITORCONTENTIONMETRIC_BLOCKEDFUNCTIONBREAKDOWN']._serialized_start=27119 + _globals['_ANDROIDMONITORCONTENTIONMETRIC_BLOCKEDFUNCTIONBREAKDOWN']._serialized_end=27233 + _globals['_ANDROIDMULTIUSERMETRIC']._serialized_start=27236 + _globals['_ANDROIDMULTIUSERMETRIC']._serialized_end=27562 + _globals['_ANDROIDMULTIUSERMETRIC_EVENTDATA']._serialized_start=27335 + _globals['_ANDROIDMULTIUSERMETRIC_EVENTDATA']._serialized_end=27562 + _globals['_ANDROIDMULTIUSERMETRIC_EVENTDATA_CPUUSAGE']._serialized_start=27448 + _globals['_ANDROIDMULTIUSERMETRIC_EVENTDATA_CPUUSAGE']._serialized_end=27562 + _globals['_ANDROIDNETWORKMETRIC']._serialized_start=27565 + _globals['_ANDROIDNETWORKMETRIC']._serialized_end=29728 + _globals['_ANDROIDNETWORKMETRIC_PACKETSTATISTIC']._serialized_start=27930 + _globals['_ANDROIDNETWORKMETRIC_PACKETSTATISTIC']._serialized_end=28093 + _globals['_ANDROIDNETWORKMETRIC_COREPACKETSTATISTIC']._serialized_start=28095 + _globals['_ANDROIDNETWORKMETRIC_COREPACKETSTATISTIC']._serialized_end=28209 + _globals['_ANDROIDNETWORKMETRIC_RX']._serialized_start=28212 + _globals['_ANDROIDNETWORKMETRIC_RX']._serialized_end=28390 + _globals['_ANDROIDNETWORKMETRIC_TX']._serialized_start=28393 + _globals['_ANDROIDNETWORKMETRIC_TX']._serialized_end=28540 + _globals['_ANDROIDNETWORKMETRIC_NETDEVICE']._serialized_start=28543 + _globals['_ANDROIDNETWORKMETRIC_NETDEVICE']._serialized_end=28676 + _globals['_ANDROIDNETWORKMETRIC_NETRXACTIONSTATISTIC']._serialized_start=28678 + _globals['_ANDROIDNETWORKMETRIC_NETRXACTIONSTATISTIC']._serialized_end=28798 + _globals['_ANDROIDNETWORKMETRIC_NETTXACTIONSTATISTIC']._serialized_start=28800 + _globals['_ANDROIDNETWORKMETRIC_NETTXACTIONSTATISTIC']._serialized_end=28920 + _globals['_ANDROIDNETWORKMETRIC_IPIACTIONSTATISTIC']._serialized_start=28922 + _globals['_ANDROIDNETWORKMETRIC_IPIACTIONSTATISTIC']._serialized_end=29001 + _globals['_ANDROIDNETWORKMETRIC_CORENETRXACTIONSTATISTIC']._serialized_start=29004 + _globals['_ANDROIDNETWORKMETRIC_CORENETRXACTIONSTATISTIC']._serialized_end=29135 + _globals['_ANDROIDNETWORKMETRIC_CORENETTXACTIONSTATISTIC']._serialized_start=29138 + _globals['_ANDROIDNETWORKMETRIC_CORENETTXACTIONSTATISTIC']._serialized_end=29269 + _globals['_ANDROIDNETWORKMETRIC_NETRXACTION']._serialized_start=29272 + _globals['_ANDROIDNETWORKMETRIC_NETRXACTION']._serialized_end=29473 + _globals['_ANDROIDNETWORKMETRIC_NETTXACTION']._serialized_start=29476 + _globals['_ANDROIDNETWORKMETRIC_NETTXACTION']._serialized_end=29642 + _globals['_ANDROIDNETWORKMETRIC_IPIACTION']._serialized_start=29644 + _globals['_ANDROIDNETWORKMETRIC_IPIACTION']._serialized_end=29728 + _globals['_ANDROIDOTHERTRACESMETRIC']._serialized_start=29730 + _globals['_ANDROIDOTHERTRACESMETRIC']._serialized_end=29787 + _globals['_ANDROIDPACKAGELIST']._serialized_start=29790 + _globals['_ANDROIDPACKAGELIST']._serialized_end=29941 + _globals['_ANDROIDPACKAGELIST_PACKAGE']._serialized_start=29875 + _globals['_ANDROIDPACKAGELIST_PACKAGE']._serialized_end=29941 + _globals['_ANDROIDPOWERRAILS']._serialized_start=29944 + _globals['_ANDROIDPOWERRAILS']._serialized_end=30243 + _globals['_ANDROIDPOWERRAILS_ENERGYDATA']._serialized_start=30066 + _globals['_ANDROIDPOWERRAILS_ENERGYDATA']._serialized_end=30120 + _globals['_ANDROIDPOWERRAILS_POWERRAILS']._serialized_start=30122 + _globals['_ANDROIDPOWERRAILS_POWERRAILS']._serialized_end=30243 + _globals['_PROFILERSMAPS']._serialized_start=30246 + _globals['_PROFILERSMAPS']._serialized_end=30533 + _globals['_PROFILERSMAPS_MAPPING']._serialized_start=30322 + _globals['_PROFILERSMAPS_MAPPING']._serialized_end=30405 + _globals['_PROFILERSMAPS_INSTANCE']._serialized_start=30407 + _globals['_PROFILERSMAPS_INSTANCE']._serialized_end=30533 + _globals['_ANDROIDRTRUNTIMEMETRIC']._serialized_start=30536 + _globals['_ANDROIDRTRUNTIMEMETRIC']._serialized_end=30732 + _globals['_ANDROIDRTRUNTIMEMETRIC_RTSLICE']._serialized_start=30683 + _globals['_ANDROIDRTRUNTIMEMETRIC_RTSLICE']._serialized_end=30732 + _globals['_ANDROIDSIMPLEPERFMETRIC']._serialized_start=30735 + _globals['_ANDROIDSIMPLEPERFMETRIC']._serialized_end=31191 + _globals['_ANDROIDSIMPLEPERFMETRIC_PERFEVENTMETRIC']._serialized_start=30859 + _globals['_ANDROIDSIMPLEPERFMETRIC_PERFEVENTMETRIC']._serialized_end=31191 + _globals['_ANDROIDSIMPLEPERFMETRIC_PERFEVENTMETRIC_THREAD']._serialized_start=30992 + _globals['_ANDROIDSIMPLEPERFMETRIC_PERFEVENTMETRIC_THREAD']._serialized_end=31055 + _globals['_ANDROIDSIMPLEPERFMETRIC_PERFEVENTMETRIC_PROCESS']._serialized_start=31058 + _globals['_ANDROIDSIMPLEPERFMETRIC_PERFEVENTMETRIC_PROCESS']._serialized_end=31191 + _globals['_ANDROIDSTARTUPMETRIC']._serialized_start=31194 + _globals['_ANDROIDSTARTUPMETRIC']._serialized_end=38032 + _globals['_ANDROIDSTARTUPMETRIC_TASKSTATEBREAKDOWN']._serialized_start=31283 + _globals['_ANDROIDSTARTUPMETRIC_TASKSTATEBREAKDOWN']._serialized_end=31512 + _globals['_ANDROIDSTARTUPMETRIC_MCYCLESBYCORETYPE']._serialized_start=31514 + _globals['_ANDROIDSTARTUPMETRIC_MCYCLESBYCORETYPE']._serialized_end=31595 + _globals['_ANDROIDSTARTUPMETRIC_SLICE']._serialized_start=31597 + _globals['_ANDROIDSTARTUPMETRIC_SLICE']._serialized_end=31636 + _globals['_ANDROIDSTARTUPMETRIC_TOFIRSTFRAME']._serialized_start=31639 + _globals['_ANDROIDSTARTUPMETRIC_TOFIRSTFRAME']._serialized_end=33846 + _globals['_ANDROIDSTARTUPMETRIC_HSCMETRICS']._serialized_start=33848 + _globals['_ANDROIDSTARTUPMETRIC_HSCMETRICS']._serialized_end=33927 + _globals['_ANDROIDSTARTUPMETRIC_ACTIVITY']._serialized_start=33929 + _globals['_ANDROIDSTARTUPMETRIC_ACTIVITY']._serialized_end=34000 + _globals['_ANDROIDSTARTUPMETRIC_BINDERTRANSACTION']._serialized_start=34003 + _globals['_ANDROIDSTARTUPMETRIC_BINDERTRANSACTION']._serialized_end=34206 + _globals['_ANDROIDSTARTUPMETRIC_OPTIMIZATIONSTATUS']._serialized_start=34209 + _globals['_ANDROIDSTARTUPMETRIC_OPTIMIZATIONSTATUS']._serialized_end=34341 + _globals['_ANDROIDSTARTUPMETRIC_VERIFYCLASS']._serialized_start=34343 + _globals['_ANDROIDSTARTUPMETRIC_VERIFYCLASS']._serialized_end=34386 + _globals['_ANDROIDSTARTUPMETRIC_EVENTTIMESTAMPS']._serialized_start=34388 + _globals['_ANDROIDSTARTUPMETRIC_EVENTTIMESTAMPS']._serialized_end=34451 + _globals['_ANDROIDSTARTUPMETRIC_SYSTEMSTATE']._serialized_start=34454 + _globals['_ANDROIDSTARTUPMETRIC_SYSTEMSTATE']._serialized_end=34687 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASONDETAILED']._serialized_start=34689 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASONDETAILED']._serialized_end=34747 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASON']._serialized_start=34750 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASON']._serialized_end=36268 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASON_REASONID']._serialized_start=35346 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASON_REASONID']._serialized_end=36191 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASON_SEVERITYLEVEL']._serialized_start=36193 + _globals['_ANDROIDSTARTUPMETRIC_SLOWSTARTREASON_SEVERITYLEVEL']._serialized_end=36268 + _globals['_ANDROIDSTARTUPMETRIC_THRESHOLDVALUE']._serialized_start=36271 + _globals['_ANDROIDSTARTUPMETRIC_THRESHOLDVALUE']._serialized_end=36512 + _globals['_ANDROIDSTARTUPMETRIC_THRESHOLDVALUE_THRESHOLDUNIT']._serialized_start=36411 + _globals['_ANDROIDSTARTUPMETRIC_THRESHOLDVALUE_THRESHOLDUNIT']._serialized_end=36512 + _globals['_ANDROIDSTARTUPMETRIC_ACTUALVALUE']._serialized_start=36514 + _globals['_ANDROIDSTARTUPMETRIC_ACTUALVALUE']._serialized_end=36555 + _globals['_ANDROIDSTARTUPMETRIC_TRACESLICESECTION']._serialized_start=36557 + _globals['_ANDROIDSTARTUPMETRIC_TRACESLICESECTION']._serialized_end=36662 + _globals['_ANDROIDSTARTUPMETRIC_TRACETHREADSECTION']._serialized_start=36664 + _globals['_ANDROIDSTARTUPMETRIC_TRACETHREADSECTION']._serialized_end=36774 + _globals['_ANDROIDSTARTUPMETRIC_STARTUP']._serialized_start=36777 + _globals['_ANDROIDSTARTUPMETRIC_STARTUP']._serialized_end=38032 + _globals['_ANDROIDSURFACEFLINGERMETRIC']._serialized_start=38035 + _globals['_ANDROIDSURFACEFLINGERMETRIC']._serialized_end=38632 + _globals['_ANDROIDSURFACEFLINGERMETRIC_METRICSPERDISPLAY']._serialized_start=38427 + _globals['_ANDROIDSURFACEFLINGERMETRIC_METRICSPERDISPLAY']._serialized_end=38632 + _globals['_SYSUISLICEPERFORMANCESTATISTICALDATA']._serialized_start=38635 + _globals['_SYSUISLICEPERFORMANCESTATISTICALDATA']._serialized_end=38780 + _globals['_SYSUINOTIFSHADELISTBUILDERMETRIC']._serialized_start=38783 + _globals['_SYSUINOTIFSHADELISTBUILDERMETRIC']._serialized_end=39246 + _globals['_SYSUINOTIFSHADELISTBUILDERMETRIC_SLICEDURATION']._serialized_start=39185 + _globals['_SYSUINOTIFSHADELISTBUILDERMETRIC_SLICEDURATION']._serialized_end=39246 + _globals['_SYSUIUPDATENOTIFONUIMODECHANGEDMETRIC']._serialized_start=39249 + _globals['_SYSUIUPDATENOTIFONUIMODECHANGEDMETRIC']._serialized_end=39523 + _globals['_SYSUIUPDATENOTIFONUIMODECHANGEDMETRIC_SLICEDURATION']._serialized_start=39185 + _globals['_SYSUIUPDATENOTIFONUIMODECHANGEDMETRIC_SLICEDURATION']._serialized_end=39246 + _globals['_ANDROIDTASKNAMES']._serialized_start=39526 + _globals['_ANDROIDTASKNAMES']._serialized_end=39722 + _globals['_ANDROIDTASKNAMES_PROCESS']._serialized_start=39606 + _globals['_ANDROIDTASKNAMES_PROCESS']._serialized_end=39722 + _globals['_ANDROIDTRACEQUALITYMETRIC']._serialized_start=39724 + _globals['_ANDROIDTRACEQUALITYMETRIC']._serialized_end=39846 + _globals['_ANDROIDTRACEQUALITYMETRIC_FAILURE']._serialized_start=39823 + _globals['_ANDROIDTRACEQUALITYMETRIC_FAILURE']._serialized_end=39846 + _globals['_UNSYMBOLIZEDFRAMES']._serialized_start=39849 + _globals['_UNSYMBOLIZEDFRAMES']._serialized_end=40014 + _globals['_UNSYMBOLIZEDFRAMES_FRAME']._serialized_start=39930 + _globals['_UNSYMBOLIZEDFRAMES_FRAME']._serialized_end=40014 + _globals['_ANDROIDWATTSONTIMEPERIODMETRIC']._serialized_start=40016 + _globals['_ANDROIDWATTSONTIMEPERIODMETRIC']._serialized_end=40138 + _globals['_ANDROIDWATTSONESTIMATEINFO']._serialized_start=40141 + _globals['_ANDROIDWATTSONESTIMATEINFO']._serialized_end=40284 + _globals['_ANDROIDWATTSONCPUSUBSYSTEMESTIMATE']._serialized_start=40287 + _globals['_ANDROIDWATTSONCPUSUBSYSTEMESTIMATE']._serialized_end=40920 + _globals['_ANDROIDWATTSONPOLICYESTIMATE']._serialized_start=40923 + _globals['_ANDROIDWATTSONPOLICYESTIMATE']._serialized_end=41438 + _globals['_ANDROIDWATTSONCPUESTIMATE']._serialized_start=41440 + _globals['_ANDROIDWATTSONCPUESTIMATE']._serialized_end=41488 + _globals['_ANDROIDWATTSONDSUSCUESTIMATE']._serialized_start=41490 + _globals['_ANDROIDWATTSONDSUSCUESTIMATE']._serialized_end=41541 + _globals['_ANDROIDWATTSONTASKSATTRIBUTIONMETRIC']._serialized_start=41543 + _globals['_ANDROIDWATTSONTASKSATTRIBUTIONMETRIC']._serialized_end=41665 + _globals['_ANDROIDWATTSONTASKINFO']._serialized_start=41668 + _globals['_ANDROIDWATTSONTASKINFO']._serialized_end=41839 + _globals['_TRACEMETADATA']._serialized_start=41842 + _globals['_TRACEMETADATA']._serialized_end=42149 + _globals['_TRACEANALYSISSTATS']._serialized_start=42152 + _globals['_TRACEANALYSISSTATS']._serialized_end=42569 + _globals['_TRACEANALYSISSTATS_STAT']._serialized_start=42231 + _globals['_TRACEANALYSISSTATS_STAT']._serialized_end=42403 + _globals['_TRACEANALYSISSTATS_SEVERITY']._serialized_start=42405 + _globals['_TRACEANALYSISSTATS_SEVERITY']._serialized_end=42500 + _globals['_TRACEANALYSISSTATS_SOURCE']._serialized_start=42502 + _globals['_TRACEANALYSISSTATS_SOURCE']._serialized_end=42569 + _globals['_TRACEMETRICS']._serialized_start=42572 + _globals['_TRACEMETRICS']._serialized_end=47247 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/webview/__init__.py b/lglpy/timeline/protos/perfetto/metrics/webview/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/metrics/webview/all_webview_metrics_pb2.py b/lglpy/timeline/protos/perfetto/metrics/webview/all_webview_metrics_pb2.py new file mode 100644 index 0000000..4c48046 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/webview/all_webview_metrics_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/webview/all_webview_metrics.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/webview/all_webview_metrics.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.metrics import metrics_pb2 as protos_dot_perfetto_dot_metrics_dot_metrics__pb2 +from protos.perfetto.metrics.webview import webview_jank_approximation_pb2 as protos_dot_perfetto_dot_metrics_dot_webview_dot_webview__jank__approximation__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/metrics/webview/all_webview_metrics.proto\x12\x0fperfetto.protos\x1a%protos/perfetto/metrics/metrics.proto\x1a@protos/perfetto/metrics/webview/webview_jank_approximation.proto:m\n\x1awebview_jank_approximation\x12\x1d.perfetto.protos.TraceMetrics\x18\xd1\x0f \x01(\x0b\x32).perfetto.protos.WebViewJankApproximation') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.webview.all_webview_metrics_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/metrics/webview/webview_jank_approximation_pb2.py b/lglpy/timeline/protos/perfetto/metrics/webview/webview_jank_approximation_pb2.py new file mode 100644 index 0000000..4b1164c --- /dev/null +++ b/lglpy/timeline/protos/perfetto/metrics/webview/webview_jank_approximation_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/metrics/webview/webview_jank_approximation.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/metrics/webview/webview_jank_approximation.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n@protos/perfetto/metrics/webview/webview_jank_approximation.proto\x12\x0fperfetto.protos\"\xa5\x01\n\x18WebViewJankApproximation\x12\x15\n\rwebview_janks\x18\x01 \x01(\x05\x12%\n\x1dwebview_janks_without_startup\x18\x02 \x01(\x05\x12\x19\n\x11webview_app_janks\x18\x03 \x01(\x05\x12\x1b\n\x13webview_total_janks\x18\x04 \x01(\x05\x12\x13\n\x0btotal_janks\x18\x05 \x01(\x05') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.metrics.webview.webview_jank_approximation_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_WEBVIEWJANKAPPROXIMATION']._serialized_start=86 + _globals['_WEBVIEWJANKAPPROXIMATION']._serialized_end=251 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/__init__.py b/lglpy/timeline/protos/perfetto/trace/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/android/__init__.py b/lglpy/timeline/protos/perfetto/trace/android/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/android/android_game_intervention_list_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/android_game_intervention_list_pb2.py new file mode 100644 index 0000000..8feef41 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/android_game_intervention_list_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/android_game_intervention_list.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/android_game_intervention_list.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nBprotos/perfetto/trace/android/android_game_intervention_list.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.android_game_intervention_list_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDGAMEINTERVENTIONLIST']._serialized_start=88 + _globals['_ANDROIDGAMEINTERVENTIONLIST']._serialized_end=487 + _globals['_ANDROIDGAMEINTERVENTIONLIST_GAMEMODEINFO']._serialized_start=245 + _globals['_ANDROIDGAMEINTERVENTIONLIST_GAMEMODEINFO']._serialized_end=335 + _globals['_ANDROIDGAMEINTERVENTIONLIST_GAMEPACKAGEINFO']._serialized_start=338 + _globals['_ANDROIDGAMEINTERVENTIONLIST_GAMEPACKAGEINFO']._serialized_end=487 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/android_input_event_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/android_input_event_pb2.py new file mode 100644 index 0000000..f6e1fb4 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/android_input_event_pb2.py @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/android_input_event.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/android_input_event.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.android import typedef_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_typedef__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7protos/perfetto/trace/android/android_input_event.proto\x12\x0fperfetto.protos\x1a+protos/perfetto/trace/android/typedef.proto\"\xdc\x07\n\x12\x41ndroidMotionEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x07\x12\x18\n\x10\x65vent_time_nanos\x18\x02 \x01(\x03\x12\x33\n\x06source\x18\x03 \x01(\rB#\x8a\xa6\x1d\x1f\x61ndroid.view.InputDevice.Source\x12\x39\n\x06\x61\x63tion\x18\x04 \x01(\x05\x42)\x8a\xa6\x1d%android.view.MotionEvent.ActionMasked\x12\x11\n\tdevice_id\x18\x05 \x01(\x05\x12\x12\n\ndisplay_id\x18\x06 \x01(\x11\x12\x43\n\x0e\x63lassification\x18\x07 \x01(\x05\x42+\x8a\xa6\x1d\'android.view.MotionEvent.Classification\x12\x30\n\x05\x66lags\x18\x08 \x01(\rB!\x8a\xa6\x1d\x1d\x61ndroid.view.MotionEvent.Flag\x12<\n\x07pointer\x18\t \x03(\x0b\x32+.perfetto.protos.AndroidMotionEvent.Pointer\x12\x1d\n\x11original_event_id\x18\x10 \x03(\x07\x42\x02\x10\x01\x12\x17\n\x0f\x64own_time_nanos\x18\x11 \x01(\x03\x12\x19\n\x11\x63ursor_position_x\x18\x12 \x01(\x02\x12\x19\n\x11\x63ursor_position_y\x18\x13 \x01(\x02\x12:\n\raction_button\x18\x14 \x01(\x05\x42#\x8a\xa6\x1d\x1f\x61ndroid.view.MotionEvent.Button\x12\x39\n\x0c\x62utton_state\x18\x15 \x01(\rB#\x8a\xa6\x1d\x1f\x61ndroid.view.MotionEvent.Button\x12\x37\n\nmeta_state\x18\x16 \x01(\rB#\x8a\xa6\x1d\x1f\x61ndroid.view.KeyEvent.MetaState\x12\x14\n\x0cpolicy_flags\x18\x17 \x01(\r\x12\x13\n\x0bprecision_x\x18\x18 \x01(\x02\x12\x13\n\x0bprecision_y\x18\x19 \x01(\x02\x1a\xef\x01\n\x07Pointer\x12I\n\naxis_value\x18\x01 \x03(\x0b\x32\x35.perfetto.protos.AndroidMotionEvent.Pointer.AxisValue\x12\x12\n\npointer_id\x18\x02 \x01(\x05\x12\x38\n\ttool_type\x18\x03 \x01(\x05\x42%\x8a\xa6\x1d!android.view.MotionEvent.ToolType\x1aK\n\tAxisValue\x12/\n\x04\x61xis\x18\x01 \x01(\x05\x42!\x8a\xa6\x1d\x1d\x61ndroid.view.MotionEvent.Axis\x12\r\n\x05value\x18\x02 \x01(\x02\"\x9d\x03\n\x0f\x41ndroidKeyEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x07\x12\x18\n\x10\x65vent_time_nanos\x18\x02 \x01(\x03\x12\x17\n\x0f\x64own_time_nanos\x18\x03 \x01(\x03\x12\x33\n\x06source\x18\x04 \x01(\rB#\x8a\xa6\x1d\x1f\x61ndroid.view.InputDevice.Source\x12\x30\n\x06\x61\x63tion\x18\x05 \x01(\x05\x42 \x8a\xa6\x1d\x1c\x61ndroid.view.KeyEvent.Action\x12\x11\n\tdevice_id\x18\x06 \x01(\x05\x12\x12\n\ndisplay_id\x18\x07 \x01(\x11\x12\x10\n\x08key_code\x18\x08 \x01(\x05\x12\x11\n\tscan_code\x18\t \x01(\r\x12\x37\n\nmeta_state\x18\n \x01(\rB#\x8a\xa6\x1d\x1f\x61ndroid.view.KeyEvent.MetaState\x12\x14\n\x0crepeat_count\x18\x0b \x01(\x05\x12-\n\x05\x66lags\x18\x0c \x01(\rB\x1e\x8a\xa6\x1d\x1a\x61ndroid.view.KeyEvent.Flag\x12\x14\n\x0cpolicy_flags\x18\r \x01(\r\"\xfb\x02\n\x1f\x41ndroidWindowInputDispatchEvent\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\x07\x12\x10\n\x08vsync_id\x18\x02 \x01(\x03\x12\x11\n\twindow_id\x18\x03 \x01(\x05\x12^\n\x12\x64ispatched_pointer\x18\x04 \x03(\x0b\x32\x42.perfetto.protos.AndroidWindowInputDispatchEvent.DispatchedPointer\x12\x16\n\x0eresolved_flags\x18\x05 \x01(\r\x1a\xa8\x01\n\x11\x44ispatchedPointer\x12\x12\n\npointer_id\x18\x01 \x01(\x05\x12\x14\n\x0cx_in_display\x18\x02 \x01(\x02\x12\x14\n\x0cy_in_display\x18\x03 \x01(\x02\x12S\n\x14\x61xis_value_in_window\x18\x04 \x03(\x0b\x32\x35.perfetto.protos.AndroidMotionEvent.Pointer.AxisValue\"\x87\x04\n\x11\x41ndroidInputEvent\x12\x46\n\x17\x64ispatcher_motion_event\x18\x01 \x01(\x0b\x32#.perfetto.protos.AndroidMotionEventH\x00\x12O\n dispatcher_motion_event_redacted\x18\x02 \x01(\x0b\x32#.perfetto.protos.AndroidMotionEventH\x00\x12@\n\x14\x64ispatcher_key_event\x18\x03 \x01(\x0b\x32 .perfetto.protos.AndroidKeyEventH\x00\x12I\n\x1d\x64ispatcher_key_event_redacted\x18\x04 \x01(\x0b\x32 .perfetto.protos.AndroidKeyEventH\x00\x12\\\n dispatcher_window_dispatch_event\x18\x05 \x01(\x0b\x32\x30.perfetto.protos.AndroidWindowInputDispatchEventH\x00\x12\x65\n)dispatcher_window_dispatch_event_redacted\x18\x06 \x01(\x0b\x32\x30.perfetto.protos.AndroidWindowInputDispatchEventH\x00\x42\x07\n\x05\x65vent') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.android_input_event_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDMOTIONEVENT_POINTER_AXISVALUE'].fields_by_name['axis']._loaded_options = None + _globals['_ANDROIDMOTIONEVENT_POINTER_AXISVALUE'].fields_by_name['axis']._serialized_options = b'\212\246\035\035android.view.MotionEvent.Axis' + _globals['_ANDROIDMOTIONEVENT_POINTER'].fields_by_name['tool_type']._loaded_options = None + _globals['_ANDROIDMOTIONEVENT_POINTER'].fields_by_name['tool_type']._serialized_options = b'\212\246\035!android.view.MotionEvent.ToolType' + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['source']._loaded_options = None + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['source']._serialized_options = b'\212\246\035\037android.view.InputDevice.Source' + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['action']._loaded_options = None + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['action']._serialized_options = b'\212\246\035%android.view.MotionEvent.ActionMasked' + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['classification']._loaded_options = None + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['classification']._serialized_options = b'\212\246\035\'android.view.MotionEvent.Classification' + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['flags']._loaded_options = None + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['flags']._serialized_options = b'\212\246\035\035android.view.MotionEvent.Flag' + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['original_event_id']._loaded_options = None + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['original_event_id']._serialized_options = b'\020\001' + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['action_button']._loaded_options = None + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['action_button']._serialized_options = b'\212\246\035\037android.view.MotionEvent.Button' + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['button_state']._loaded_options = None + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['button_state']._serialized_options = b'\212\246\035\037android.view.MotionEvent.Button' + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['meta_state']._loaded_options = None + _globals['_ANDROIDMOTIONEVENT'].fields_by_name['meta_state']._serialized_options = b'\212\246\035\037android.view.KeyEvent.MetaState' + _globals['_ANDROIDKEYEVENT'].fields_by_name['source']._loaded_options = None + _globals['_ANDROIDKEYEVENT'].fields_by_name['source']._serialized_options = b'\212\246\035\037android.view.InputDevice.Source' + _globals['_ANDROIDKEYEVENT'].fields_by_name['action']._loaded_options = None + _globals['_ANDROIDKEYEVENT'].fields_by_name['action']._serialized_options = b'\212\246\035\034android.view.KeyEvent.Action' + _globals['_ANDROIDKEYEVENT'].fields_by_name['meta_state']._loaded_options = None + _globals['_ANDROIDKEYEVENT'].fields_by_name['meta_state']._serialized_options = b'\212\246\035\037android.view.KeyEvent.MetaState' + _globals['_ANDROIDKEYEVENT'].fields_by_name['flags']._loaded_options = None + _globals['_ANDROIDKEYEVENT'].fields_by_name['flags']._serialized_options = b'\212\246\035\032android.view.KeyEvent.Flag' + _globals['_ANDROIDMOTIONEVENT']._serialized_start=122 + _globals['_ANDROIDMOTIONEVENT']._serialized_end=1110 + _globals['_ANDROIDMOTIONEVENT_POINTER']._serialized_start=871 + _globals['_ANDROIDMOTIONEVENT_POINTER']._serialized_end=1110 + _globals['_ANDROIDMOTIONEVENT_POINTER_AXISVALUE']._serialized_start=1035 + _globals['_ANDROIDMOTIONEVENT_POINTER_AXISVALUE']._serialized_end=1110 + _globals['_ANDROIDKEYEVENT']._serialized_start=1113 + _globals['_ANDROIDKEYEVENT']._serialized_end=1526 + _globals['_ANDROIDWINDOWINPUTDISPATCHEVENT']._serialized_start=1529 + _globals['_ANDROIDWINDOWINPUTDISPATCHEVENT']._serialized_end=1908 + _globals['_ANDROIDWINDOWINPUTDISPATCHEVENT_DISPATCHEDPOINTER']._serialized_start=1740 + _globals['_ANDROIDWINDOWINPUTDISPATCHEVENT_DISPATCHEDPOINTER']._serialized_end=1908 + _globals['_ANDROIDINPUTEVENT']._serialized_start=1911 + _globals['_ANDROIDINPUTEVENT']._serialized_end=2430 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/android_log_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/android_log_pb2.py new file mode 100644 index 0000000..b87e5ac --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/android_log_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/android_log.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/android_log.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import android_log_constants_pb2 as protos_dot_perfetto_dot_common_dot_android__log__constants__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/protos/perfetto/trace/android/android_log.proto\x12\x0fperfetto.protos\x1a\x32protos/perfetto/common/android_log_constants.proto\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.android_log_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDLOGPACKET']._serialized_start=121 + _globals['_ANDROIDLOGPACKET']._serialized_end=683 + _globals['_ANDROIDLOGPACKET_LOGEVENT']._serialized_start=258 + _globals['_ANDROIDLOGPACKET_LOGEVENT']._serialized_end=614 + _globals['_ANDROIDLOGPACKET_LOGEVENT_ARG']._serialized_start=518 + _globals['_ANDROIDLOGPACKET_LOGEVENT_ARG']._serialized_end=614 + _globals['_ANDROIDLOGPACKET_STATS']._serialized_start=616 + _globals['_ANDROIDLOGPACKET_STATS']._serialized_end=683 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/android_system_property_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/android_system_property_pb2.py new file mode 100644 index 0000000..0829deb --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/android_system_property_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/android_system_property.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/android_system_property.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n;protos/perfetto/trace/android/android_system_property.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.android_system_property_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDSYSTEMPROPERTY']._serialized_start=81 + _globals['_ANDROIDSYSTEMPROPERTY']._serialized_end=220 + _globals['_ANDROIDSYSTEMPROPERTY_PROPERTYVALUE']._serialized_start=176 + _globals['_ANDROIDSYSTEMPROPERTY_PROPERTYVALUE']._serialized_end=220 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/android_track_event_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/android_track_event_pb2.py new file mode 100644 index 0000000..5612ad1 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/android_track_event_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/android_track_event.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/android_track_event.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.track_event import track_event_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_track__event__pb2 + +from protos.perfetto.trace.track_event.track_event_pb2 import * + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7protos/perfetto/trace/android/android_track_event.proto\x12\x0fperfetto.protos\x1a\x33protos/perfetto/trace/track_event/track_event.proto\"\xbc\x01\n\x11\x41ndroidTrackEvent29\n\x13\x62inder_service_name\x12\x1b.perfetto.protos.TrackEvent\x18\xd1\x0f \x01(\t2;\n\x15\x62inder_interface_name\x12\x1b.perfetto.protos.TrackEvent\x18\xd2\x0f \x01(\t2/\n\tapex_name\x12\x1b.perfetto.protos.TrackEvent\x18\xd3\x0f \x01(\tP\x00') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.android_track_event_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDTRACKEVENT']._serialized_start=130 + _globals['_ANDROIDTRACKEVENT']._serialized_end=318 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/app/__init__.py b/lglpy/timeline/protos/perfetto/trace/android/app/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/android/app/statusbarmanager_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/app/statusbarmanager_pb2.py new file mode 100644 index 0000000..e605093 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/app/statusbarmanager_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/app/statusbarmanager.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/app/statusbarmanager.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8protos/perfetto/trace/android/app/statusbarmanager.proto\x12\x0fperfetto.protos\"\xfa\x01\n\x15StatusBarManagerProto\"Y\n\x0bWindowState\x12\x18\n\x14WINDOW_STATE_SHOWING\x10\x00\x12\x17\n\x13WINDOW_STATE_HIDING\x10\x01\x12\x17\n\x13WINDOW_STATE_HIDDEN\x10\x02\"\x85\x01\n\x14TransientWindowState\x12\x16\n\x12TRANSIENT_BAR_NONE\x10\x00\x12 \n\x1cTRANSIENT_BAR_SHOW_REQUESTED\x10\x01\x12\x19\n\x15TRANSIENT_BAR_SHOWING\x10\x02\x12\x18\n\x14TRANSIENT_BAR_HIDING\x10\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.app.statusbarmanager_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_STATUSBARMANAGERPROTO']._serialized_start=78 + _globals['_STATUSBARMANAGERPROTO']._serialized_end=328 + _globals['_STATUSBARMANAGERPROTO_WINDOWSTATE']._serialized_start=103 + _globals['_STATUSBARMANAGERPROTO_WINDOWSTATE']._serialized_end=192 + _globals['_STATUSBARMANAGERPROTO_TRANSIENTWINDOWSTATE']._serialized_start=195 + _globals['_STATUSBARMANAGERPROTO_TRANSIENTWINDOWSTATE']._serialized_end=328 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/app/window_configuration_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/app/window_configuration_pb2.py new file mode 100644 index 0000000..ddbf293 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/app/window_configuration_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/app/window_configuration.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/app/window_configuration.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.android.graphics import rect_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_graphics_dot_rect__pb2 +from protos.perfetto.trace.android import typedef_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_typedef__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.perfetto.protos.KeyguardServiceDelegateProto.InteractiveState\"s\n\x0bScreenState\x12\x14\n\x10SCREEN_STATE_OFF\x10\x00\x12\x1b\n\x17SCREEN_STATE_TURNING_ON\x10\x01\x12\x13\n\x0fSCREEN_STATE_ON\x10\x02\x12\x1c\n\x18SCREEN_STATE_TURNING_OFF\x10\x03\"\x90\x01\n\x10InteractiveState\x12\x1b\n\x17INTERACTIVE_STATE_SLEEP\x10\x00\x12\x1c\n\x18INTERACTIVE_STATE_WAKING\x10\x01\x12\x1b\n\x17INTERACTIVE_STATE_AWAKE\x10\x02\x12$\n INTERACTIVE_STATE_GOING_TO_SLEEP\x10\x03\"\xfb\x01\n\x17KeyguardControllerProto\x12\x18\n\x10keyguard_showing\x18\x01 \x01(\x08\x12L\n\x18keyguard_occluded_states\x18\x02 \x03(\x0b\x32&.perfetto.protos.KeyguardOccludedProtoB\x02\x18\x01\x12\x13\n\x0b\x61od_showing\x18\x03 \x01(\x08\x12\x46\n\x14keyguard_per_display\x18\x04 \x03(\x0b\x32(.perfetto.protos.KeyguardPerDisplayProto\x12\x1b\n\x13keyguard_going_away\x18\x05 \x01(\x08\"F\n\x15KeyguardOccludedProto\x12\x12\n\ndisplay_id\x18\x01 \x01(\x05\x12\x19\n\x11keyguard_occluded\x18\x02 \x01(\x08\"\x94\x01\n\x17KeyguardPerDisplayProto\x12\x12\n\ndisplay_id\x18\x01 \x01(\x05\x12\x18\n\x10keyguard_showing\x18\x02 \x01(\x08\x12\x13\n\x0b\x61od_showing\x18\x03 \x01(\x08\x12\x19\n\x11keyguard_occluded\x18\x04 \x01(\x08\x12\x1b\n\x13keyguard_going_away\x18\x05 \x01(\x08\"\xff\x08\n\x18WindowManagerPolicyProto\x12 \n\x14last_system_ui_flags\x18\x01 \x01(\x05\x42\x02\x18\x01\x12Q\n\rrotation_mode\x18\x02 \x01(\x0e\x32:.perfetto.protos.WindowManagerPolicyProto.UserRotationMode\x12\x38\n\x08rotation\x18\x03 \x01(\x0e\x32&.perfetto.protos.SurfaceProto.Rotation\x12I\n\x0borientation\x18\x04 \x01(\x0e\x32\x34.perfetto.protos.ActivityInfoProto.ScreenOrientation\x12\x17\n\x0fscreen_on_fully\x18\x05 \x01(\x08\x12\x1e\n\x16keyguard_draw_complete\x18\x06 \x01(\x08\x12$\n\x1cwindow_manager_draw_complete\x18\x07 \x01(\x08\x12\x1d\n\x11\x66ocused_app_token\x18\x08 \x01(\tB\x02\x18\x01\x12<\n\x0e\x66ocused_window\x18\t \x01(\x0b\x32 .perfetto.protos.IdentifierProtoB\x02\x18\x01\x12J\n\x1ctop_fullscreen_opaque_window\x18\n \x01(\x0b\x32 .perfetto.protos.IdentifierProtoB\x02\x18\x01\x12U\n\'top_fullscreen_opaque_or_dimming_window\x18\x0b \x01(\x0b\x32 .perfetto.protos.IdentifierProtoB\x02\x18\x01\x12\x19\n\x11keyguard_occluded\x18\x0c \x01(\x08\x12!\n\x19keyguard_occluded_changed\x18\r \x01(\x08\x12!\n\x19keyguard_occluded_pending\x18\x0e \x01(\x08\x12\x1c\n\x10\x66orce_status_bar\x18\x0f \x01(\x08\x42\x02\x18\x01\x12*\n\x1e\x66orce_status_bar_from_keyguard\x18\x10 \x01(\x08\x42\x02\x18\x01\x12;\n\nstatus_bar\x18\x11 \x01(\x0b\x32#.perfetto.protos.BarControllerProtoB\x02\x18\x01\x12?\n\x0enavigation_bar\x18\x12 \x01(\x0b\x32#.perfetto.protos.BarControllerProtoB\x02\x18\x01\x12Q\n\x14orientation_listener\x18\x13 \x01(\x0b\x32/.perfetto.protos.WindowOrientationListenerProtoB\x02\x18\x01\x12H\n\x11keyguard_delegate\x18\x14 \x01(\x0b\x32-.perfetto.protos.KeyguardServiceDelegateProto\"D\n\x10UserRotationMode\x12\x16\n\x12USER_ROTATION_FREE\x10\x00\x12\x18\n\x14USER_ROTATION_LOCKED\x10\x01\"\x8a\x02\n\x12\x41ppTransitionProto\x12J\n\x14\x61pp_transition_state\x18\x01 \x01(\x0e\x32,.perfetto.protos.AppTransitionProto.AppState\x12\x45\n\x18last_used_app_transition\x18\x02 \x01(\x0e\x32#.perfetto.protos.TransitionTypeEnum\"a\n\x08\x41ppState\x12\x12\n\x0e\x41PP_STATE_IDLE\x10\x00\x12\x13\n\x0f\x41PP_STATE_READY\x10\x01\x12\x15\n\x11\x41PP_STATE_RUNNING\x10\x02\x12\x15\n\x11\x41PP_STATE_TIMEOUT\x10\x03\"\xdc\x0f\n\x13\x44isplayContentProto\x12\x43\n\x10window_container\x18\x01 \x01(\x0b\x32%.perfetto.protos.WindowContainerProtoB\x02\x18\x01\x12\n\n\x02id\x18\x02 \x01(\x05\x12]\n\x1e\x64ocked_task_divider_controller\x18\x04 \x01(\x0b\x32\x31.perfetto.protos.DockedTaskDividerControllerProtoB\x02\x18\x01\x12N\n\x16pinned_task_controller\x18\x05 \x01(\x0b\x32*.perfetto.protos.PinnedTaskControllerProtoB\x02\x18\x01\x12@\n\x11\x61\x62ove_app_windows\x18\x06 \x03(\x0b\x32!.perfetto.protos.WindowTokenProtoB\x02\x18\x01\x12@\n\x11\x62\x65low_app_windows\x18\x07 \x03(\x0b\x32!.perfetto.protos.WindowTokenProtoB\x02\x18\x01\x12:\n\x0bime_windows\x18\x08 \x03(\x0b\x32!.perfetto.protos.WindowTokenProtoB\x02\x18\x01\x12\x0b\n\x03\x64pi\x18\t \x01(\x05\x12\x37\n\x0c\x64isplay_info\x18\n \x01(\x0b\x32!.perfetto.protos.DisplayInfoProto\x12\x35\n\x08rotation\x18\x0b \x01(\x05\x42#\x18\x01\x8a\xa6\x1d\x1d\x61ndroid.view.Surface.Rotation\x12P\n\x19screen_rotation_animation\x18\x0c \x01(\x0b\x32-.perfetto.protos.ScreenRotationAnimationProto\x12;\n\x0e\x64isplay_frames\x18\r \x01(\x0b\x32#.perfetto.protos.DisplayFramesProto\x12\x18\n\x0csurface_size\x18\x0e \x01(\x05\x42\x02\x18\x01\x12\x13\n\x0b\x66ocused_app\x18\x0f \x01(\t\x12;\n\x0e\x61pp_transition\x18\x10 \x01(\x0b\x32#.perfetto.protos.AppTransitionProto\x12\x36\n\x0copening_apps\x18\x11 \x03(\x0b\x32 .perfetto.protos.IdentifierProto\x12\x36\n\x0c\x63losing_apps\x18\x12 \x03(\x0b\x32 .perfetto.protos.IdentifierProto\x12\x37\n\rchanging_apps\x18\x13 \x03(\x0b\x32 .perfetto.protos.IdentifierProto\x12>\n\x0foverlay_windows\x18\x14 \x03(\x0b\x32!.perfetto.protos.WindowTokenProtoB\x02\x18\x01\x12<\n\x11root_display_area\x18\x15 \x01(\x0b\x32!.perfetto.protos.DisplayAreaProto\x12 \n\x14single_task_instance\x18\x16 \x01(\x08\x42\x02\x18\x01\x12\x1c\n\x14\x66ocused_root_task_id\x18\x17 \x01(\x05\x12:\n\x10resumed_activity\x18\x18 \x01(\x0b\x32 .perfetto.protos.IdentifierProto\x12-\n\x05tasks\x18\x19 \x03(\x0b\x32\x1a.perfetto.protos.TaskProtoB\x02\x18\x01\x12\x15\n\rdisplay_ready\x18\x1a \x01(\x08\x12>\n\x13input_method_target\x18\x1b \x01(\x0b\x32!.perfetto.protos.WindowStateProto\x12\x44\n\x19input_method_input_target\x18\x1c \x01(\x0b\x32!.perfetto.protos.WindowStateProto\x12\x46\n\x1binput_method_control_target\x18\x1d \x01(\x0b\x32!.perfetto.protos.WindowStateProto\x12\x38\n\rcurrent_focus\x18\x1e \x01(\x0b\x32!.perfetto.protos.WindowStateProto\x12Q\n\x1aime_insets_source_provider\x18\x1f \x01(\x0b\x32-.perfetto.protos.ImeInsetsSourceProviderProto\x12\x18\n\x0c\x63\x61n_show_ime\x18 \x01(\x08\x42\x02\x18\x01\x12?\n\x10\x64isplay_rotation\x18! \x01(\x0b\x32%.perfetto.protos.DisplayRotationProto\x12\x12\n\nime_policy\x18\" \x01(\x05\x12K\n\x17insets_source_providers\x18# \x03(\x0b\x32*.perfetto.protos.InsetsSourceProviderProto\x12\x13\n\x0bis_sleeping\x18$ \x01(\x08\x12\x14\n\x0csleep_tokens\x18% \x03(\t\x12\x34\n\x10keep_clear_areas\x18& \x03(\x0b\x32\x1a.perfetto.protos.RectProto\x12&\n\x1emin_size_of_resizeable_task_dp\x18\' \x01(\x05J\x04\x08\x03\x10\x04\"\xb8\x02\n\x10\x44isplayAreaProto\x12?\n\x10window_container\x18\x01 \x01(\x0b\x32%.perfetto.protos.WindowContainerProto\x12\x16\n\x04name\x18\x02 \x01(\tB\x08\x9a\x9f\xd5\x87\x03\x02\x08\x64\x12<\n\x08\x63hildren\x18\x03 \x03(\x0b\x32&.perfetto.protos.DisplayAreaChildProtoB\x02\x18\x01\x12\x1c\n\x14is_task_display_area\x18\x04 \x01(\x08\x12\x1c\n\x14is_root_display_area\x18\x05 \x01(\x08\x12\x12\n\nfeature_id\x18\x06 \x01(\x05\x12\x14\n\x0cis_organized\x18\x07 \x01(\x08\x12\'\n\x1fis_ignoring_orientation_request\x18\x08 \x01(\x08\"\x94\x01\n\x15\x44isplayAreaChildProto\x12\x37\n\x0c\x64isplay_area\x18\x01 \x01(\x0b\x32!.perfetto.protos.DisplayAreaProto\x12\x31\n\x06window\x18\x02 \x01(\x0b\x32!.perfetto.protos.WindowTokenProto\x12\x0f\n\x07unknown\x18\x03 \x03(\t\"\xaa\x01\n\x12\x44isplayFramesProto\x12\x35\n\rstable_bounds\x18\x01 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12,\n\x04\x64ock\x18\x02 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12/\n\x07\x63urrent\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\"\xbf\x02\n\x14\x44isplayRotationProto\x12\x33\n\x08rotation\x18\x01 \x01(\x05\x42!\x8a\xa6\x1d\x1d\x61ndroid.view.Surface.Rotation\x12\x1f\n\x17\x66rozen_to_user_rotation\x18\x02 \x01(\x08\x12\x38\n\ruser_rotation\x18\x03 \x01(\x05\x42!\x8a\xa6\x1d\x1d\x61ndroid.view.Surface.Rotation\x12#\n\x1b\x66ixed_to_user_rotation_mode\x18\x04 \x01(\x05\x12O\n\x10last_orientation\x18\x05 \x01(\x05\x42\x35\x8a\xa6\x1d\x31\x61ndroid.content.pm.ActivityInfo.ScreenOrientation\x12!\n\x19is_fixed_to_user_rotation\x18\x06 \x01(\x08\">\n DockedTaskDividerControllerProto\x12\x1a\n\x0eminimized_dock\x18\x01 \x01(\x08\x42\x02\x18\x01\"\x8c\x01\n\x19PinnedTaskControllerProto\x12\x36\n\x0e\x64\x65\x66\x61ult_bounds\x18\x01 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x37\n\x0fmovement_bounds\x18\x02 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\"\x80\t\n\tTaskProto\x12\x43\n\x10window_container\x18\x01 \x01(\x0b\x32%.perfetto.protos.WindowContainerProtoB\x02\x18\x01\x12\n\n\x02id\x18\x02 \x01(\x05\x12\x14\n\x0c\x66ills_parent\x18\x04 \x01(\x08\x12*\n\x06\x62ounds\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x38\n\x10\x64isplayed_bounds\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x15\n\rdefer_removal\x18\x07 \x01(\x08\x12\x15\n\rsurface_width\x18\x08 \x01(\x05\x12\x16\n\x0esurface_height\x18\t \x01(\x05\x12-\n\x05tasks\x18\n \x03(\x0b\x32\x1a.perfetto.protos.TaskProtoB\x02\x18\x01\x12<\n\nactivities\x18\x0b \x03(\x0b\x32$.perfetto.protos.ActivityRecordProtoB\x02\x18\x01\x12:\n\x10resumed_activity\x18\x0c \x01(\x0b\x32 .perfetto.protos.IdentifierProto\x12\x15\n\rreal_activity\x18\r \x01(\t\x12\x15\n\rorig_activity\x18\x0e \x01(\t\x12\x16\n\ndisplay_id\x18\x0f \x01(\x05\x42\x02\x18\x01\x12\x14\n\x0croot_task_id\x18\x10 \x01(\x05\x12I\n\ractivity_type\x18\x11 \x01(\x05\x42\x32\x18\x01\x8a\xa6\x1d,android.app.WindowConfiguration.ActivityType\x12P\n\x0bresize_mode\x18\x12 \x01(\x05\x42;\x8a\xa6\x1d\x37\x61ndroid.appwidget.AppWidgetProviderInfo.ResizeModeFlags\x12\x15\n\tmin_width\x18\x13 \x01(\x05\x42\x02\x18\x01\x12\x16\n\nmin_height\x18\x14 \x01(\x05\x42\x02\x18\x01\x12\x33\n\x0f\x61\x64justed_bounds\x18\x15 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12>\n\x1alast_non_fullscreen_bounds\x18\x16 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x18\n\x10\x61\x64justed_for_ime\x18\x17 \x01(\x08\x12\x19\n\x11\x61\x64just_ime_amount\x18\x18 \x01(\x02\x12\x1d\n\x15\x61\x64just_divider_amount\x18\x19 \x01(\x02\x12\x1c\n\x10\x61nimating_bounds\x18\x1a \x01(\x08\x42\x02\x18\x01\x12\x17\n\x0fminimize_amount\x18\x1b \x01(\x02\x12\x1c\n\x14\x63reated_by_organizer\x18\x1c \x01(\x08\x12\x10\n\x08\x61\x66\x66inity\x18\x1d \x01(\t\x12\x1e\n\x16has_child_pip_activity\x18\x1e \x01(\x08\x12\x39\n\rtask_fragment\x18\x1f \x01(\x0b\x32\".perfetto.protos.TaskFragmentProtoJ\x04\x08\x03\x10\x04\"\xd8\x01\n\x11TaskFragmentProto\x12?\n\x10window_container\x18\x01 \x01(\x0b\x32%.perfetto.protos.WindowContainerProto\x12\x12\n\ndisplay_id\x18\x02 \x01(\x05\x12G\n\ractivity_type\x18\x03 \x01(\x05\x42\x30\x8a\xa6\x1d,android.app.WindowConfiguration.ActivityType\x12\x11\n\tmin_width\x18\x04 \x01(\x05\x12\x12\n\nmin_height\x18\x05 \x01(\x05\"\xd7\x0c\n\x13\x41\x63tivityRecordProto\x12\x16\n\x04name\x18\x01 \x01(\tB\x08\x9a\x9f\xd5\x87\x03\x02\x08\x64\x12\x37\n\x0cwindow_token\x18\x02 \x01(\x0b\x32!.perfetto.protos.WindowTokenProto\x12\x1c\n\x14last_surface_showing\x18\x03 \x01(\x08\x12\'\n\x1fis_waiting_for_transition_start\x18\x04 \x01(\x08\x12\x14\n\x0cis_animating\x18\x05 \x01(\x08\x12\x41\n\tthumbnail\x18\x06 \x01(\x0b\x32..perfetto.protos.WindowContainerThumbnailProto\x12\x14\n\x0c\x66ills_parent\x18\x07 \x01(\x08\x12\x13\n\x0b\x61pp_stopped\x18\x08 \x01(\x08\x12\x19\n\x11visible_requested\x18\t \x01(\x08\x12\x16\n\x0e\x63lient_visible\x18\n \x01(\x08\x12\x1b\n\x13\x64\x65\x66\x65r_hiding_client\x18\x0b \x01(\x08\x12\x16\n\x0ereported_drawn\x18\x0c \x01(\x08\x12\x18\n\x10reported_visible\x18\r \x01(\x08\x12\x1f\n\x17num_interesting_windows\x18\x0e \x01(\x05\x12\x19\n\x11num_drawn_windows\x18\x0f \x01(\x05\x12\x11\n\tall_drawn\x18\x10 \x01(\x08\x12\x16\n\x0elast_all_drawn\x18\x11 \x01(\x08\x12\x39\n\x0fstarting_window\x18\x13 \x01(\x0b\x32 .perfetto.protos.IdentifierProto\x12\x1a\n\x12starting_displayed\x18\x14 \x01(\x08\x12\x17\n\x0estarting_moved\x18\xc9\x01 \x01(\x08\x12\x34\n,visible_set_from_transferred_starting_window\x18\x16 \x01(\x08\x12\x35\n\rfrozen_bounds\x18\x17 \x03(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x0f\n\x07visible\x18\x18 \x01(\x08\x12\x38\n\nidentifier\x18\x1a \x01(\x0b\x32 .perfetto.protos.IdentifierProtoB\x02\x18\x01\x12\x17\n\x05state\x18\x1b \x01(\tB\x08\x9a\x9f\xd5\x87\x03\x02\x08\x64\x12\x15\n\rfront_of_task\x18\x1c \x01(\x08\x12\x0f\n\x07proc_id\x18\x1d \x01(\x05\x12\x13\n\x0btranslucent\x18\x1e \x01(\x08\x12\x1e\n\x16pip_auto_enter_enabled\x18\x1f \x01(\x08\x12\x1b\n\x13in_size_compat_mode\x18 \x01(\x08\x12\x18\n\x10min_aspect_ratio\x18! \x01(\x02\x12\x1b\n\x13provides_max_bounds\x18\" \x01(\x08\x12!\n\x19\x65nable_recents_screenshot\x18# \x01(\x08\x12\x1c\n\x14last_drop_input_mode\x18$ \x01(\x05\x12S\n\x14override_orientation\x18% \x01(\x05\x42\x35\x8a\xa6\x1d\x31\x61ndroid.content.pm.ActivityInfo.ScreenOrientation\x12%\n\x1dshould_send_compat_fake_focus\x18& \x01(\x08\x12-\n%should_force_rotate_for_camera_compat\x18\' \x01(\x08\x12\x31\n)should_refresh_activity_for_camera_compat\x18( \x01(\x08\x12;\n3should_refresh_activity_via_pause_for_camera_compat\x18) \x01(\x08\x12(\n should_override_min_aspect_ratio\x18* \x01(\x08\x12.\n&should_ignore_orientation_request_loop\x18+ \x01(\x08\x12(\n should_override_force_resize_app\x18, \x01(\x08\x12\x30\n(should_enable_user_aspect_ratio_settings\x18- \x01(\x08\x12+\n#is_user_fullscreen_override_enabled\x18. \x01(\x08J\x04\x08\x12\x10\x13J\x04\x08\x19\x10\x1a\"\xcb\x01\n\x10WindowTokenProto\x12?\n\x10window_container\x18\x01 \x01(\x0b\x32%.perfetto.protos.WindowContainerProto\x12\x11\n\thash_code\x18\x02 \x01(\x05\x12\x36\n\x07windows\x18\x03 \x03(\x0b\x32!.perfetto.protos.WindowStateProtoB\x02\x18\x01\x12\x1b\n\x0fwaiting_to_show\x18\x05 \x01(\x08\x42\x02\x18\x01\x12\x0e\n\x06paused\x18\x06 \x01(\x08\"\xc0\x10\n\x10WindowStateProto\x12?\n\x10window_container\x18\x01 \x01(\x0b\x32%.perfetto.protos.WindowContainerProto\x12\x38\n\nidentifier\x18\x02 \x01(\x0b\x32 .perfetto.protos.IdentifierProtoB\x02\x18\x01\x12\x12\n\ndisplay_id\x18\x03 \x01(\x05\x12\x10\n\x08stack_id\x18\x04 \x01(\x05\x12<\n\nattributes\x18\x05 \x01(\x0b\x32(.perfetto.protos.WindowLayoutParamsProto\x12\x38\n\x14given_content_insets\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12-\n\x05\x66rame\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x38\n\x10\x63ontaining_frame\x18\x08 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x34\n\x0cparent_frame\x18\t \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x35\n\rcontent_frame\x18\n \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x36\n\x0e\x63ontent_insets\x18\x0b \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x32\n\x0esurface_insets\x18\x0c \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12;\n\x08\x61nimator\x18\r \x01(\x0b\x32).perfetto.protos.WindowStateAnimatorProto\x12\x16\n\x0e\x61nimating_exit\x18\x0e \x01(\x08\x12<\n\rchild_windows\x18\x0f \x03(\x0b\x32!.perfetto.protos.WindowStateProtoB\x02\x18\x01\x12\x34\n\x10surface_position\x18\x10 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x17\n\x0frequested_width\x18\x12 \x01(\x05\x12\x18\n\x10requested_height\x18\x13 \x01(\x05\x12\x39\n\x0fview_visibility\x18\x14 \x01(\x05\x42 \x8a\xa6\x1d\x1c\x61ndroid.view.View.Visibility\x12 \n\x14system_ui_visibility\x18\x15 \x01(\x05\x42\x02\x18\x01\x12\x13\n\x0bhas_surface\x18\x16 \x01(\x08\x12\x1c\n\x14is_ready_for_display\x18\x17 \x01(\x08\x12\x35\n\rdisplay_frame\x18\x18 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x36\n\x0eoverscan_frame\x18\x19 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x35\n\rvisible_frame\x18\x1a \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x33\n\x0b\x64\x65\x63or_frame\x18\x1b \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x34\n\x0coutset_frame\x18\x1c \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x37\n\x0foverscan_insets\x18\x1d \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x36\n\x0evisible_insets\x18\x1e \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x35\n\rstable_insets\x18\x1f \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12/\n\x07outsets\x18 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x37\n\x06\x63utout\x18! \x01(\x0b\x32#.perfetto.protos.DisplayCutoutProtoB\x02\x18\x01\x12\x16\n\x0eremove_on_exit\x18\" \x01(\x08\x12\x12\n\ndestroying\x18# \x01(\x08\x12\x0f\n\x07removed\x18$ \x01(\x08\x12\x14\n\x0cis_on_screen\x18% \x01(\x08\x12\x12\n\nis_visible\x18& \x01(\x08\x12!\n\x19pending_seamless_rotation\x18\' \x01(\x08\x12,\n finished_seamless_rotation_frame\x18( \x01(\x03\x42\x02\x18\x01\x12\x39\n\rwindow_frames\x18) \x01(\x0b\x32\".perfetto.protos.WindowFramesProto\x12\x1f\n\x17\x66orce_seamless_rotation\x18* \x01(\x08\x12\x18\n\x10has_compat_scale\x18+ \x01(\x08\x12\x14\n\x0cglobal_scale\x18, \x01(\x02\x12\x34\n\x10keep_clear_areas\x18- \x03(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x41\n\x1dunrestricted_keep_clear_areas\x18. \x03(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x44\n\x18mergedLocalInsetsSources\x18/ \x03(\x0b\x32\".perfetto.protos.InsetsSourceProto\x12\x1f\n\x17requested_visible_types\x18\x30 \x01(\x05\"N\n\x0fIdentifierProto\x12\x11\n\thash_code\x18\x01 \x01(\x05\x12\x0f\n\x07user_id\x18\x02 \x01(\x05\x12\x17\n\x05title\x18\x03 \x01(\tB\x08\x9a\x9f\xd5\x87\x03\x02\x08\x64\"\xf8\x02\n\x18WindowStateAnimatorProto\x12\x32\n\x0elast_clip_rect\x18\x01 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12>\n\x07surface\x18\x02 \x01(\x0b\x32-.perfetto.protos.WindowSurfaceControllerProto\x12G\n\ndraw_state\x18\x03 \x01(\x0e\x32\x33.perfetto.protos.WindowStateAnimatorProto.DrawState\x12\x35\n\x11system_decor_rect\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\"h\n\tDrawState\x12\x0e\n\nNO_SURFACE\x10\x00\x12\x10\n\x0c\x44RAW_PENDING\x10\x01\x12\x17\n\x13\x43OMMIT_DRAW_PENDING\x10\x02\x12\x11\n\rREADY_TO_SHOW\x10\x03\x12\r\n\tHAS_DRAWN\x10\x04\"<\n\x1cWindowSurfaceControllerProto\x12\r\n\x05shown\x18\x01 \x01(\x08\x12\r\n\x05layer\x18\x02 \x01(\x05\"J\n\x1cScreenRotationAnimationProto\x12\x0f\n\x07started\x18\x01 \x01(\x08\x12\x19\n\x11\x61nimation_running\x18\x02 \x01(\x08\"\xb6\x03\n\x14WindowContainerProto\x12M\n\x17\x63onfiguration_container\x18\x01 \x01(\x0b\x32,.perfetto.protos.ConfigurationContainerProto\x12J\n\x0borientation\x18\x02 \x01(\x05\x42\x35\x8a\xa6\x1d\x31\x61ndroid.content.pm.ActivityInfo.ScreenOrientation\x12\x0f\n\x07visible\x18\x03 \x01(\x08\x12?\n\x10surface_animator\x18\x04 \x01(\x0b\x32%.perfetto.protos.SurfaceAnimatorProto\x12<\n\x08\x63hildren\x18\x05 \x03(\x0b\x32*.perfetto.protos.WindowContainerChildProto\x12\x34\n\nidentifier\x18\x06 \x01(\x0b\x32 .perfetto.protos.IdentifierProto\x12=\n\x0fsurface_control\x18\x07 \x01(\x0b\x32$.perfetto.protos.SurfaceControlProto\"\xdd\x03\n\x19WindowContainerChildProto\x12?\n\x10window_container\x18\x02 \x01(\x0b\x32%.perfetto.protos.WindowContainerProto\x12=\n\x0f\x64isplay_content\x18\x03 \x01(\x0b\x32$.perfetto.protos.DisplayContentProto\x12\x37\n\x0c\x64isplay_area\x18\x04 \x01(\x0b\x32!.perfetto.protos.DisplayAreaProto\x12(\n\x04task\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.TaskProto\x12\x36\n\x08\x61\x63tivity\x18\x06 \x01(\x0b\x32$.perfetto.protos.ActivityRecordProto\x12\x37\n\x0cwindow_token\x18\x07 \x01(\x0b\x32!.perfetto.protos.WindowTokenProto\x12\x31\n\x06window\x18\x08 \x01(\x0b\x32!.perfetto.protos.WindowStateProto\x12\x39\n\rtask_fragment\x18\t \x01(\x0b\x32\".perfetto.protos.TaskFragmentProto\"\xef\x01\n\x1b\x43onfigurationContainerProto\x12\x43\n\x16override_configuration\x18\x01 \x01(\x0b\x32#.perfetto.protos.ConfigurationProto\x12?\n\x12\x66ull_configuration\x18\x02 \x01(\x0b\x32#.perfetto.protos.ConfigurationProto\x12J\n\x1dmerged_override_configuration\x18\x03 \x01(\x0b\x32#.perfetto.protos.ConfigurationProto\"\xe2\x06\n\x11WindowFramesProto\x12\x38\n\x10\x63ontaining_frame\x18\x01 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x35\n\rcontent_frame\x18\x02 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x33\n\x0b\x64\x65\x63or_frame\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x31\n\rdisplay_frame\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12)\n\x05\x66rame\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x30\n\x0coutset_frame\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x36\n\x0eoverscan_frame\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x30\n\x0cparent_frame\x18\x08 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x35\n\rvisible_frame\x18\t \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x37\n\x06\x63utout\x18\n \x01(\x0b\x32#.perfetto.protos.DisplayCutoutProtoB\x02\x18\x01\x12\x36\n\x0e\x63ontent_insets\x18\x0b \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x37\n\x0foverscan_insets\x18\x0c \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x36\n\x0evisible_insets\x18\r \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12\x35\n\rstable_insets\x18\x0e \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12+\n\x07outsets\x18\x0f \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x30\n\x0c\x63ompat_frame\x18\x10 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\"\xa7\x06\n\x19InsetsSourceProviderProto\x12\x32\n\x06source\x18\x01 \x01(\x0b\x32\".perfetto.protos.InsetsSourceProto\x12)\n\x05\x66rame\x18\x02 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12?\n\x0c\x66\x61ke_control\x18\x03 \x01(\x0b\x32).perfetto.protos.InsetsSourceControlProto\x12:\n\x07\x63ontrol\x18\x04 \x01(\x0b\x32).perfetto.protos.InsetsSourceControlProto\x12\x39\n\x0e\x63ontrol_target\x18\x05 \x01(\x0b\x32!.perfetto.protos.WindowStateProto\x12\x41\n\x16pending_control_target\x18\x06 \x01(\x0b\x32!.perfetto.protos.WindowStateProto\x12>\n\x13\x66\x61ke_control_target\x18\x07 \x01(\x0b\x32!.perfetto.protos.WindowStateProto\x12<\n\x0e\x63\x61ptured_leash\x18\x08 \x01(\x0b\x32$.perfetto.protos.SurfaceControlProto\x12<\n\x14ime_overridden_frame\x18\t \x01(\x0b\x32\x1a.perfetto.protos.RectProtoB\x02\x18\x01\x12&\n\x1eis_leash_ready_for_dispatching\x18\n \x01(\x08\x12\x16\n\x0e\x63lient_visible\x18\x0b \x01(\x08\x12\x16\n\x0eserver_visible\x18\x0c \x01(\x08\x12\x19\n\x11seamless_rotating\x18\r \x01(\x08\x12+\n#finish_seamless_rotate_frame_number\x18\x0e \x01(\x03\x12\x14\n\x0c\x63ontrollable\x18\x0f \x01(\x08\x12>\n\x13source_window_state\x18\x10 \x01(\x0b\x32!.perfetto.protos.WindowStateProto\"\xcb\x01\n\x1cImeInsetsSourceProviderProto\x12J\n\x16insets_source_provider\x18\x01 \x01(\x0b\x32*.perfetto.protos.InsetsSourceProviderProto\x12>\n\x13ime_target_from_ime\x18\x02 \x01(\x0b\x32!.perfetto.protos.WindowStateProto\x12\x1f\n\x13is_ime_layout_drawn\x18\x03 \x01(\x08\x42\x02\x18\x01\"\x9b\x01\n\x13\x42\x61\x63kNavigationProto\x12\x1d\n\x15\x61nimation_in_progress\x18\x01 \x01(\x08\x12\x16\n\x0elast_back_type\x18\x02 \x01(\x05\x12\x16\n\x0eshow_wallpaper\x18\x03 \x01(\x08\x12\x1a\n\x12main_open_activity\x18\x04 \x01(\t\x12\x19\n\x11\x61nimation_running\x18\x05 \x01(\x08') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.server.windowmanagerservice_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_WINDOWMANAGERSERVICEDUMPPROTO'].fields_by_name['rotation']._loaded_options = None + _globals['_WINDOWMANAGERSERVICEDUMPPROTO'].fields_by_name['rotation']._serialized_options = b'\030\001\212\246\035\035android.view.Surface.Rotation' + _globals['_WINDOWMANAGERSERVICEDUMPPROTO'].fields_by_name['last_orientation']._loaded_options = None + _globals['_WINDOWMANAGERSERVICEDUMPPROTO'].fields_by_name['last_orientation']._serialized_options = b'\030\001\212\246\0351android.content.pm.ActivityInfo.ScreenOrientation' + _globals['_ROOTWINDOWCONTAINERPROTO'].fields_by_name['displays']._loaded_options = None + _globals['_ROOTWINDOWCONTAINERPROTO'].fields_by_name['displays']._serialized_options = b'\030\001' + _globals['_ROOTWINDOWCONTAINERPROTO'].fields_by_name['windows']._loaded_options = None + _globals['_ROOTWINDOWCONTAINERPROTO'].fields_by_name['windows']._serialized_options = b'\030\001' + _globals['_ROOTWINDOWCONTAINERPROTO'].fields_by_name['pending_activities']._loaded_options = None + _globals['_ROOTWINDOWCONTAINERPROTO'].fields_by_name['pending_activities']._serialized_options = b'\030\001' + _globals['_ROOTWINDOWCONTAINERPROTO'].fields_by_name['default_min_size_resizable_task']._loaded_options = None + _globals['_ROOTWINDOWCONTAINERPROTO'].fields_by_name['default_min_size_resizable_task']._serialized_options = b'\030\001' + _globals['_KEYGUARDCONTROLLERPROTO'].fields_by_name['keyguard_occluded_states']._loaded_options = None + _globals['_KEYGUARDCONTROLLERPROTO'].fields_by_name['keyguard_occluded_states']._serialized_options = b'\030\001' + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['last_system_ui_flags']._loaded_options = None + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['last_system_ui_flags']._serialized_options = b'\030\001' + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['focused_app_token']._loaded_options = None + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['focused_app_token']._serialized_options = b'\030\001' + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['focused_window']._loaded_options = None + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['focused_window']._serialized_options = b'\030\001' + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['top_fullscreen_opaque_window']._loaded_options = None + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['top_fullscreen_opaque_window']._serialized_options = b'\030\001' + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['top_fullscreen_opaque_or_dimming_window']._loaded_options = None + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['top_fullscreen_opaque_or_dimming_window']._serialized_options = b'\030\001' + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['force_status_bar']._loaded_options = None + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['force_status_bar']._serialized_options = b'\030\001' + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['force_status_bar_from_keyguard']._loaded_options = None + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['force_status_bar_from_keyguard']._serialized_options = b'\030\001' + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['status_bar']._loaded_options = None + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['status_bar']._serialized_options = b'\030\001' + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['navigation_bar']._loaded_options = None + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['navigation_bar']._serialized_options = b'\030\001' + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['orientation_listener']._loaded_options = None + _globals['_WINDOWMANAGERPOLICYPROTO'].fields_by_name['orientation_listener']._serialized_options = b'\030\001' + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['window_container']._loaded_options = None + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['window_container']._serialized_options = b'\030\001' + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['docked_task_divider_controller']._loaded_options = None + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['docked_task_divider_controller']._serialized_options = b'\030\001' + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['pinned_task_controller']._loaded_options = None + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['pinned_task_controller']._serialized_options = b'\030\001' + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['above_app_windows']._loaded_options = None + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['above_app_windows']._serialized_options = b'\030\001' + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['below_app_windows']._loaded_options = None + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['below_app_windows']._serialized_options = b'\030\001' + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['ime_windows']._loaded_options = None + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['ime_windows']._serialized_options = b'\030\001' + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['rotation']._loaded_options = None + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['rotation']._serialized_options = b'\030\001\212\246\035\035android.view.Surface.Rotation' + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['surface_size']._loaded_options = None + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['surface_size']._serialized_options = b'\030\001' + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['overlay_windows']._loaded_options = None + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['overlay_windows']._serialized_options = b'\030\001' + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['single_task_instance']._loaded_options = None + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['single_task_instance']._serialized_options = b'\030\001' + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['tasks']._loaded_options = None + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['tasks']._serialized_options = b'\030\001' + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['can_show_ime']._loaded_options = None + _globals['_DISPLAYCONTENTPROTO'].fields_by_name['can_show_ime']._serialized_options = b'\030\001' + _globals['_DISPLAYAREAPROTO'].fields_by_name['name']._loaded_options = None + _globals['_DISPLAYAREAPROTO'].fields_by_name['name']._serialized_options = b'\232\237\325\207\003\002\010d' + _globals['_DISPLAYAREAPROTO'].fields_by_name['children']._loaded_options = None + _globals['_DISPLAYAREAPROTO'].fields_by_name['children']._serialized_options = b'\030\001' + _globals['_DISPLAYFRAMESPROTO'].fields_by_name['stable_bounds']._loaded_options = None + _globals['_DISPLAYFRAMESPROTO'].fields_by_name['stable_bounds']._serialized_options = b'\030\001' + _globals['_DISPLAYFRAMESPROTO'].fields_by_name['dock']._loaded_options = None + _globals['_DISPLAYFRAMESPROTO'].fields_by_name['dock']._serialized_options = b'\030\001' + _globals['_DISPLAYFRAMESPROTO'].fields_by_name['current']._loaded_options = None + _globals['_DISPLAYFRAMESPROTO'].fields_by_name['current']._serialized_options = b'\030\001' + _globals['_DISPLAYROTATIONPROTO'].fields_by_name['rotation']._loaded_options = None + _globals['_DISPLAYROTATIONPROTO'].fields_by_name['rotation']._serialized_options = b'\212\246\035\035android.view.Surface.Rotation' + _globals['_DISPLAYROTATIONPROTO'].fields_by_name['user_rotation']._loaded_options = None + _globals['_DISPLAYROTATIONPROTO'].fields_by_name['user_rotation']._serialized_options = b'\212\246\035\035android.view.Surface.Rotation' + _globals['_DISPLAYROTATIONPROTO'].fields_by_name['last_orientation']._loaded_options = None + _globals['_DISPLAYROTATIONPROTO'].fields_by_name['last_orientation']._serialized_options = b'\212\246\0351android.content.pm.ActivityInfo.ScreenOrientation' + _globals['_DOCKEDTASKDIVIDERCONTROLLERPROTO'].fields_by_name['minimized_dock']._loaded_options = None + _globals['_DOCKEDTASKDIVIDERCONTROLLERPROTO'].fields_by_name['minimized_dock']._serialized_options = b'\030\001' + _globals['_PINNEDTASKCONTROLLERPROTO'].fields_by_name['default_bounds']._loaded_options = None + _globals['_PINNEDTASKCONTROLLERPROTO'].fields_by_name['default_bounds']._serialized_options = b'\030\001' + _globals['_PINNEDTASKCONTROLLERPROTO'].fields_by_name['movement_bounds']._loaded_options = None + _globals['_PINNEDTASKCONTROLLERPROTO'].fields_by_name['movement_bounds']._serialized_options = b'\030\001' + _globals['_TASKPROTO'].fields_by_name['window_container']._loaded_options = None + _globals['_TASKPROTO'].fields_by_name['window_container']._serialized_options = b'\030\001' + _globals['_TASKPROTO'].fields_by_name['displayed_bounds']._loaded_options = None + _globals['_TASKPROTO'].fields_by_name['displayed_bounds']._serialized_options = b'\030\001' + _globals['_TASKPROTO'].fields_by_name['tasks']._loaded_options = None + _globals['_TASKPROTO'].fields_by_name['tasks']._serialized_options = b'\030\001' + _globals['_TASKPROTO'].fields_by_name['activities']._loaded_options = None + _globals['_TASKPROTO'].fields_by_name['activities']._serialized_options = b'\030\001' + _globals['_TASKPROTO'].fields_by_name['display_id']._loaded_options = None + _globals['_TASKPROTO'].fields_by_name['display_id']._serialized_options = b'\030\001' + _globals['_TASKPROTO'].fields_by_name['activity_type']._loaded_options = None + _globals['_TASKPROTO'].fields_by_name['activity_type']._serialized_options = b'\030\001\212\246\035,android.app.WindowConfiguration.ActivityType' + _globals['_TASKPROTO'].fields_by_name['resize_mode']._loaded_options = None + _globals['_TASKPROTO'].fields_by_name['resize_mode']._serialized_options = b'\212\246\0357android.appwidget.AppWidgetProviderInfo.ResizeModeFlags' + _globals['_TASKPROTO'].fields_by_name['min_width']._loaded_options = None + _globals['_TASKPROTO'].fields_by_name['min_width']._serialized_options = b'\030\001' + _globals['_TASKPROTO'].fields_by_name['min_height']._loaded_options = None + _globals['_TASKPROTO'].fields_by_name['min_height']._serialized_options = b'\030\001' + _globals['_TASKPROTO'].fields_by_name['animating_bounds']._loaded_options = None + _globals['_TASKPROTO'].fields_by_name['animating_bounds']._serialized_options = b'\030\001' + _globals['_TASKFRAGMENTPROTO'].fields_by_name['activity_type']._loaded_options = None + _globals['_TASKFRAGMENTPROTO'].fields_by_name['activity_type']._serialized_options = b'\212\246\035,android.app.WindowConfiguration.ActivityType' + _globals['_ACTIVITYRECORDPROTO'].fields_by_name['name']._loaded_options = None + _globals['_ACTIVITYRECORDPROTO'].fields_by_name['name']._serialized_options = b'\232\237\325\207\003\002\010d' + _globals['_ACTIVITYRECORDPROTO'].fields_by_name['frozen_bounds']._loaded_options = None + _globals['_ACTIVITYRECORDPROTO'].fields_by_name['frozen_bounds']._serialized_options = b'\030\001' + _globals['_ACTIVITYRECORDPROTO'].fields_by_name['identifier']._loaded_options = None + _globals['_ACTIVITYRECORDPROTO'].fields_by_name['identifier']._serialized_options = b'\030\001' + _globals['_ACTIVITYRECORDPROTO'].fields_by_name['state']._loaded_options = None + _globals['_ACTIVITYRECORDPROTO'].fields_by_name['state']._serialized_options = b'\232\237\325\207\003\002\010d' + _globals['_ACTIVITYRECORDPROTO'].fields_by_name['override_orientation']._loaded_options = None + _globals['_ACTIVITYRECORDPROTO'].fields_by_name['override_orientation']._serialized_options = b'\212\246\0351android.content.pm.ActivityInfo.ScreenOrientation' + _globals['_WINDOWTOKENPROTO'].fields_by_name['windows']._loaded_options = None + _globals['_WINDOWTOKENPROTO'].fields_by_name['windows']._serialized_options = b'\030\001' + _globals['_WINDOWTOKENPROTO'].fields_by_name['waiting_to_show']._loaded_options = None + _globals['_WINDOWTOKENPROTO'].fields_by_name['waiting_to_show']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['identifier']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['identifier']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['frame']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['frame']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['containing_frame']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['containing_frame']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['parent_frame']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['parent_frame']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['content_frame']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['content_frame']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['content_insets']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['content_insets']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['child_windows']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['child_windows']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['view_visibility']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['view_visibility']._serialized_options = b'\212\246\035\034android.view.View.Visibility' + _globals['_WINDOWSTATEPROTO'].fields_by_name['system_ui_visibility']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['system_ui_visibility']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['display_frame']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['display_frame']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['overscan_frame']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['overscan_frame']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['visible_frame']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['visible_frame']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['decor_frame']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['decor_frame']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['outset_frame']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['outset_frame']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['overscan_insets']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['overscan_insets']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['visible_insets']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['visible_insets']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['stable_insets']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['stable_insets']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['outsets']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['outsets']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['cutout']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['cutout']._serialized_options = b'\030\001' + _globals['_WINDOWSTATEPROTO'].fields_by_name['finished_seamless_rotation_frame']._loaded_options = None + _globals['_WINDOWSTATEPROTO'].fields_by_name['finished_seamless_rotation_frame']._serialized_options = b'\030\001' + _globals['_IDENTIFIERPROTO'].fields_by_name['title']._loaded_options = None + _globals['_IDENTIFIERPROTO'].fields_by_name['title']._serialized_options = b'\232\237\325\207\003\002\010d' + _globals['_WINDOWCONTAINERPROTO'].fields_by_name['orientation']._loaded_options = None + _globals['_WINDOWCONTAINERPROTO'].fields_by_name['orientation']._serialized_options = b'\212\246\0351android.content.pm.ActivityInfo.ScreenOrientation' + _globals['_WINDOWFRAMESPROTO'].fields_by_name['containing_frame']._loaded_options = None + _globals['_WINDOWFRAMESPROTO'].fields_by_name['containing_frame']._serialized_options = b'\030\001' + _globals['_WINDOWFRAMESPROTO'].fields_by_name['content_frame']._loaded_options = None + _globals['_WINDOWFRAMESPROTO'].fields_by_name['content_frame']._serialized_options = b'\030\001' + _globals['_WINDOWFRAMESPROTO'].fields_by_name['decor_frame']._loaded_options = None + _globals['_WINDOWFRAMESPROTO'].fields_by_name['decor_frame']._serialized_options = b'\030\001' + _globals['_WINDOWFRAMESPROTO'].fields_by_name['overscan_frame']._loaded_options = None + _globals['_WINDOWFRAMESPROTO'].fields_by_name['overscan_frame']._serialized_options = b'\030\001' + _globals['_WINDOWFRAMESPROTO'].fields_by_name['visible_frame']._loaded_options = None + _globals['_WINDOWFRAMESPROTO'].fields_by_name['visible_frame']._serialized_options = b'\030\001' + _globals['_WINDOWFRAMESPROTO'].fields_by_name['cutout']._loaded_options = None + _globals['_WINDOWFRAMESPROTO'].fields_by_name['cutout']._serialized_options = b'\030\001' + _globals['_WINDOWFRAMESPROTO'].fields_by_name['content_insets']._loaded_options = None + _globals['_WINDOWFRAMESPROTO'].fields_by_name['content_insets']._serialized_options = b'\030\001' + _globals['_WINDOWFRAMESPROTO'].fields_by_name['overscan_insets']._loaded_options = None + _globals['_WINDOWFRAMESPROTO'].fields_by_name['overscan_insets']._serialized_options = b'\030\001' + _globals['_WINDOWFRAMESPROTO'].fields_by_name['visible_insets']._loaded_options = None + _globals['_WINDOWFRAMESPROTO'].fields_by_name['visible_insets']._serialized_options = b'\030\001' + _globals['_WINDOWFRAMESPROTO'].fields_by_name['stable_insets']._loaded_options = None + _globals['_WINDOWFRAMESPROTO'].fields_by_name['stable_insets']._serialized_options = b'\030\001' + _globals['_INSETSSOURCEPROVIDERPROTO'].fields_by_name['ime_overridden_frame']._loaded_options = None + _globals['_INSETSSOURCEPROVIDERPROTO'].fields_by_name['ime_overridden_frame']._serialized_options = b'\030\001' + _globals['_IMEINSETSSOURCEPROVIDERPROTO'].fields_by_name['is_ime_layout_drawn']._loaded_options = None + _globals['_IMEINSETSSOURCEPROVIDERPROTO'].fields_by_name['is_ime_layout_drawn']._serialized_options = b'\030\001' + _globals['_WINDOWMANAGERSERVICEDUMPPROTO']._serialized_start=973 + _globals['_WINDOWMANAGERSERVICEDUMPPROTO']._serialized_end=1594 + _globals['_ROOTWINDOWCONTAINERPROTO']._serialized_start=1597 + _globals['_ROOTWINDOWCONTAINERPROTO']._serialized_end=2027 + _globals['_BARCONTROLLERPROTO']._serialized_start=2030 + _globals['_BARCONTROLLERPROTO']._serialized_end=2203 + _globals['_WINDOWORIENTATIONLISTENERPROTO']._serialized_start=2205 + _globals['_WINDOWORIENTATIONLISTENERPROTO']._serialized_end=2312 + _globals['_KEYGUARDSERVICEDELEGATEPROTO']._serialized_start=2315 + _globals['_KEYGUARDSERVICEDELEGATEPROTO']._serialized_end=2832 + _globals['_KEYGUARDSERVICEDELEGATEPROTO_SCREENSTATE']._serialized_start=2570 + _globals['_KEYGUARDSERVICEDELEGATEPROTO_SCREENSTATE']._serialized_end=2685 + _globals['_KEYGUARDSERVICEDELEGATEPROTO_INTERACTIVESTATE']._serialized_start=2688 + _globals['_KEYGUARDSERVICEDELEGATEPROTO_INTERACTIVESTATE']._serialized_end=2832 + _globals['_KEYGUARDCONTROLLERPROTO']._serialized_start=2835 + _globals['_KEYGUARDCONTROLLERPROTO']._serialized_end=3086 + _globals['_KEYGUARDOCCLUDEDPROTO']._serialized_start=3088 + _globals['_KEYGUARDOCCLUDEDPROTO']._serialized_end=3158 + _globals['_KEYGUARDPERDISPLAYPROTO']._serialized_start=3161 + _globals['_KEYGUARDPERDISPLAYPROTO']._serialized_end=3309 + _globals['_WINDOWMANAGERPOLICYPROTO']._serialized_start=3312 + _globals['_WINDOWMANAGERPOLICYPROTO']._serialized_end=4463 + _globals['_WINDOWMANAGERPOLICYPROTO_USERROTATIONMODE']._serialized_start=4395 + _globals['_WINDOWMANAGERPOLICYPROTO_USERROTATIONMODE']._serialized_end=4463 + _globals['_APPTRANSITIONPROTO']._serialized_start=4466 + _globals['_APPTRANSITIONPROTO']._serialized_end=4732 + _globals['_APPTRANSITIONPROTO_APPSTATE']._serialized_start=4635 + _globals['_APPTRANSITIONPROTO_APPSTATE']._serialized_end=4732 + _globals['_DISPLAYCONTENTPROTO']._serialized_start=4735 + _globals['_DISPLAYCONTENTPROTO']._serialized_end=6747 + _globals['_DISPLAYAREAPROTO']._serialized_start=6750 + _globals['_DISPLAYAREAPROTO']._serialized_end=7062 + _globals['_DISPLAYAREACHILDPROTO']._serialized_start=7065 + _globals['_DISPLAYAREACHILDPROTO']._serialized_end=7213 + _globals['_DISPLAYFRAMESPROTO']._serialized_start=7216 + _globals['_DISPLAYFRAMESPROTO']._serialized_end=7386 + _globals['_DISPLAYROTATIONPROTO']._serialized_start=7389 + _globals['_DISPLAYROTATIONPROTO']._serialized_end=7708 + _globals['_DOCKEDTASKDIVIDERCONTROLLERPROTO']._serialized_start=7710 + _globals['_DOCKEDTASKDIVIDERCONTROLLERPROTO']._serialized_end=7772 + _globals['_PINNEDTASKCONTROLLERPROTO']._serialized_start=7775 + _globals['_PINNEDTASKCONTROLLERPROTO']._serialized_end=7915 + _globals['_TASKPROTO']._serialized_start=7918 + _globals['_TASKPROTO']._serialized_end=9070 + _globals['_TASKFRAGMENTPROTO']._serialized_start=9073 + _globals['_TASKFRAGMENTPROTO']._serialized_end=9289 + _globals['_ACTIVITYRECORDPROTO']._serialized_start=9292 + _globals['_ACTIVITYRECORDPROTO']._serialized_end=10915 + _globals['_WINDOWTOKENPROTO']._serialized_start=10918 + _globals['_WINDOWTOKENPROTO']._serialized_end=11121 + _globals['_WINDOWSTATEPROTO']._serialized_start=11124 + _globals['_WINDOWSTATEPROTO']._serialized_end=13236 + _globals['_IDENTIFIERPROTO']._serialized_start=13238 + _globals['_IDENTIFIERPROTO']._serialized_end=13316 + _globals['_WINDOWSTATEANIMATORPROTO']._serialized_start=13319 + _globals['_WINDOWSTATEANIMATORPROTO']._serialized_end=13695 + _globals['_WINDOWSTATEANIMATORPROTO_DRAWSTATE']._serialized_start=13591 + _globals['_WINDOWSTATEANIMATORPROTO_DRAWSTATE']._serialized_end=13695 + _globals['_WINDOWSURFACECONTROLLERPROTO']._serialized_start=13697 + _globals['_WINDOWSURFACECONTROLLERPROTO']._serialized_end=13757 + _globals['_SCREENROTATIONANIMATIONPROTO']._serialized_start=13759 + _globals['_SCREENROTATIONANIMATIONPROTO']._serialized_end=13833 + _globals['_WINDOWCONTAINERPROTO']._serialized_start=13836 + _globals['_WINDOWCONTAINERPROTO']._serialized_end=14274 + _globals['_WINDOWCONTAINERCHILDPROTO']._serialized_start=14277 + _globals['_WINDOWCONTAINERCHILDPROTO']._serialized_end=14754 + _globals['_CONFIGURATIONCONTAINERPROTO']._serialized_start=14757 + _globals['_CONFIGURATIONCONTAINERPROTO']._serialized_end=14996 + _globals['_WINDOWFRAMESPROTO']._serialized_start=14999 + _globals['_WINDOWFRAMESPROTO']._serialized_end=15865 + _globals['_INSETSSOURCEPROVIDERPROTO']._serialized_start=15868 + _globals['_INSETSSOURCEPROVIDERPROTO']._serialized_end=16675 + _globals['_IMEINSETSSOURCEPROVIDERPROTO']._serialized_start=16678 + _globals['_IMEINSETSSOURCEPROVIDERPROTO']._serialized_end=16881 + _globals['_BACKNAVIGATIONPROTO']._serialized_start=16884 + _globals['_BACKNAVIGATIONPROTO']._serialized_end=17039 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/shell_transition_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/shell_transition_pb2.py new file mode 100644 index 0000000..2f6f41e --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/shell_transition_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/shell_transition.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/shell_transition.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4protos/perfetto/trace/android/shell_transition.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.shell_transition_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SHELLTRANSITION']._serialized_start=74 + _globals['_SHELLTRANSITION']._serialized_end=611 + _globals['_SHELLTRANSITION_TARGET']._serialized_start=537 + _globals['_SHELLTRANSITION_TARGET']._serialized_end=611 + _globals['_SHELLHANDLERMAPPINGS']._serialized_start=613 + _globals['_SHELLHANDLERMAPPINGS']._serialized_end=690 + _globals['_SHELLHANDLERMAPPING']._serialized_start=692 + _globals['_SHELLHANDLERMAPPING']._serialized_end=739 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/surfaceflinger_common_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/surfaceflinger_common_pb2.py new file mode 100644 index 0000000..79ea33e --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/surfaceflinger_common_pb2.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/surfaceflinger_common.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/surfaceflinger_common.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.android.graphics import rect_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_graphics_dot_rect__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/trace/android/surfaceflinger_common.proto\x12\x0fperfetto.protos\x1a\x31protos/perfetto/trace/android/graphics/rect.proto\"=\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*6\n\x0eTrustedOverlay\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.surfaceflinger_common_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_INPUTWINDOWINFOPROTO'].fields_by_name['can_receive_keys']._loaded_options = None + _globals['_INPUTWINDOWINFOPROTO'].fields_by_name['can_receive_keys']._serialized_options = b'\030\001' + _globals['_INPUTWINDOWINFOPROTO'].fields_by_name['window_x_scale']._loaded_options = None + _globals['_INPUTWINDOWINFOPROTO'].fields_by_name['window_x_scale']._serialized_options = b'\030\001' + _globals['_INPUTWINDOWINFOPROTO'].fields_by_name['window_y_scale']._loaded_options = None + _globals['_INPUTWINDOWINFOPROTO'].fields_by_name['window_y_scale']._serialized_options = b'\030\001' + _globals['_COLORTRANSFORMPROTO'].fields_by_name['val']._loaded_options = None + _globals['_COLORTRANSFORMPROTO'].fields_by_name['val']._serialized_options = b'\020\001' + _globals['_TRUSTEDOVERLAY']._serialized_start=1204 + _globals['_TRUSTEDOVERLAY']._serialized_end=1258 + _globals['_REGIONPROTO']._serialized_start=129 + _globals['_REGIONPROTO']._serialized_end=190 + _globals['_SIZEPROTO']._serialized_start=192 + _globals['_SIZEPROTO']._serialized_end=225 + _globals['_TRANSFORMPROTO']._serialized_start=227 + _globals['_TRANSFORMPROTO']._serialized_end=313 + _globals['_COLORPROTO']._serialized_start=315 + _globals['_COLORPROTO']._serialized_end=371 + _globals['_INPUTWINDOWINFOPROTO']._serialized_start=374 + _globals['_INPUTWINDOWINFOPROTO']._serialized_end=949 + _globals['_BLURREGION']._serialized_start=952 + _globals['_BLURREGION']._serialized_end=1162 + _globals['_COLORTRANSFORMPROTO']._serialized_start=1164 + _globals['_COLORTRANSFORMPROTO']._serialized_end=1202 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/surfaceflinger_layers_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/surfaceflinger_layers_pb2.py new file mode 100644 index 0000000..483c105 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/surfaceflinger_layers_pb2.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/surfaceflinger_layers.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/surfaceflinger_layers.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.android import surfaceflinger_common_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_surfaceflinger__common__pb2 +from protos.perfetto.trace.android.graphics import rect_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_graphics_dot_rect__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/trace/android/surfaceflinger_layers.proto\x12\x0fperfetto.protos\x1a\x39protos/perfetto/trace/android/surfaceflinger_common.proto\x1a\x31protos/perfetto/trace/android/graphics/rect.proto\"\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\"\x8a\x12\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\x15\n\rcorner_radius\x18) \x01(\x02\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\x1f\n\x17requested_corner_radius\x18\x38 \x01(\x02\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\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\"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*\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.surfaceflinger_layers_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_LAYERPROTO_METADATAENTRY']._loaded_options = None + _globals['_LAYERPROTO_METADATAENTRY']._serialized_options = b'8\001' + _globals['_LAYERPROTO'].fields_by_name['children']._loaded_options = None + _globals['_LAYERPROTO'].fields_by_name['children']._serialized_options = b'\020\001' + _globals['_LAYERPROTO'].fields_by_name['relatives']._loaded_options = None + _globals['_LAYERPROTO'].fields_by_name['relatives']._serialized_options = b'\020\001' + _globals['_LAYERPROTO'].fields_by_name['final_crop']._loaded_options = None + _globals['_LAYERPROTO'].fields_by_name['final_crop']._serialized_options = b'\030\001' + _globals['_LAYERPROTO'].fields_by_name['window_type']._loaded_options = None + _globals['_LAYERPROTO'].fields_by_name['window_type']._serialized_options = b'\030\001' + _globals['_LAYERPROTO'].fields_by_name['app_id']._loaded_options = None + _globals['_LAYERPROTO'].fields_by_name['app_id']._serialized_options = b'\030\001' + _globals['_HWCCOMPOSITIONTYPE']._serialized_start=3584 + _globals['_HWCCOMPOSITIONTYPE']._serialized_end=3775 + _globals['_LAYERSTRACEFILEPROTO']._serialized_start=189 + _globals['_LAYERSTRACEFILEPROTO']._serialized_end=405 + _globals['_LAYERSTRACEFILEPROTO_MAGICNUMBER']._serialized_start=331 + _globals['_LAYERSTRACEFILEPROTO_MAGICNUMBER']._serialized_end=405 + _globals['_LAYERSSNAPSHOTPROTO']._serialized_start=408 + _globals['_LAYERSSNAPSHOTPROTO']._serialized_end=667 + _globals['_LAYERSPROTO']._serialized_start=669 + _globals['_LAYERSPROTO']._serialized_end=727 + _globals['_DISPLAYPROTO']._serialized_start=730 + _globals['_DISPLAYPROTO']._serialized_end=995 + _globals['_LAYERPROTO']._serialized_start=998 + _globals['_LAYERPROTO']._serialized_end=3312 + _globals['_LAYERPROTO_METADATAENTRY']._serialized_start=3265 + _globals['_LAYERPROTO_METADATAENTRY']._serialized_end=3312 + _globals['_POSITIONPROTO']._serialized_start=3314 + _globals['_POSITIONPROTO']._serialized_end=3351 + _globals['_FLOATRECTPROTO']._serialized_start=3353 + _globals['_FLOATRECTPROTO']._serialized_end=3427 + _globals['_ACTIVEBUFFERPROTO']._serialized_start=3429 + _globals['_ACTIVEBUFFERPROTO']._serialized_end=3526 + _globals['_BARRIERLAYERPROTO']._serialized_start=3528 + _globals['_BARRIERLAYERPROTO']._serialized_end=3581 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/surfaceflinger_transactions_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/surfaceflinger_transactions_pb2.py new file mode 100644 index 0000000..dc45059 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/surfaceflinger_transactions_pb2.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/surfaceflinger_transactions.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/surfaceflinger_transactions.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.android import surfaceflinger_common_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_surfaceflinger__common__pb2 +from protos.perfetto.trace.android.graphics import rect_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_graphics_dot_rect__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?protos/perfetto/trace/android/surfaceflinger_transactions.proto\x12\x0fperfetto.protos\x1a\x39protos/perfetto/trace/android/surfaceflinger_common.proto\x1a\x31protos/perfetto/trace/android/graphics/rect.proto\"\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\"\x8d\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\"\xc0 \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\x15\n\rcorner_radius\x18\x0c \x01(\x02\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\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\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\"\xe1\x03\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\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.surfaceflinger_transactions_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRANSACTIONTRACEFILE']._serialized_start=195 + _globals['_TRANSACTIONTRACEFILE']._serialized_end=430 + _globals['_TRANSACTIONTRACEFILE_MAGICNUMBER']._serialized_start=356 + _globals['_TRANSACTIONTRACEFILE_MAGICNUMBER']._serialized_end=430 + _globals['_TRANSACTIONTRACEENTRY']._serialized_start=433 + _globals['_TRANSACTIONTRACEENTRY']._serialized_end=835 + _globals['_DISPLAYINFO']._serialized_start=838 + _globals['_DISPLAYINFO']._serialized_end=1172 + _globals['_LAYERCREATIONARGS']._serialized_start=1175 + _globals['_LAYERCREATIONARGS']._serialized_end=1336 + _globals['_TRANSFORM']._serialized_start=1338 + _globals['_TRANSFORM']._serialized_end=1429 + _globals['_TRANSACTIONSTATE']._serialized_start=1432 + _globals['_TRANSACTIONSTATE']._serialized_end=1701 + _globals['_LAYERSTATE']._serialized_start=1704 + _globals['_LAYERSTATE']._serialized_end=5864 + _globals['_LAYERSTATE_MATRIX22']._serialized_start=3085 + _globals['_LAYERSTATE_MATRIX22']._serialized_end=3151 + _globals['_LAYERSTATE_COLOR3']._serialized_start=3153 + _globals['_LAYERSTATE_COLOR3']._serialized_end=3194 + _globals['_LAYERSTATE_BUFFERDATA']._serialized_start=3197 + _globals['_LAYERSTATE_BUFFERDATA']._serialized_end=3985 + _globals['_LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE']._serialized_start=3413 + _globals['_LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE']._serialized_end=3524 + _globals['_LAYERSTATE_BUFFERDATA_PIXELFORMAT']._serialized_start=3527 + _globals['_LAYERSTATE_BUFFERDATA_PIXELFORMAT']._serialized_end=3985 + _globals['_LAYERSTATE_WINDOWINFO']._serialized_start=3988 + _globals['_LAYERSTATE_WINDOWINFO']._serialized_end=4402 + _globals['_LAYERSTATE_CHANGESLSB']._serialized_start=4405 + _globals['_LAYERSTATE_CHANGESLSB']._serialized_end=5165 + _globals['_LAYERSTATE_CHANGESMSB']._serialized_start=5168 + _globals['_LAYERSTATE_CHANGESMSB']._serialized_end=5649 + _globals['_LAYERSTATE_FLAGS']._serialized_start=5652 + _globals['_LAYERSTATE_FLAGS']._serialized_end=5814 + _globals['_LAYERSTATE_DROPINPUTMODE']._serialized_start=5816 + _globals['_LAYERSTATE_DROPINPUTMODE']._serialized_end=5864 + _globals['_DISPLAYSTATE']._serialized_start=5867 + _globals['_DISPLAYSTATE']._serialized_end=6270 + _globals['_DISPLAYSTATE_CHANGES']._serialized_start=6123 + _globals['_DISPLAYSTATE_CHANGES']._serialized_end=6270 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/typedef_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/typedef_pb2.py new file mode 100644 index 0000000..0bbcb9d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/typedef_pb2.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/typedef.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/typedef.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+protos/perfetto/trace/android/typedef.proto\x12\x0fperfetto.protos\x1a google/protobuf/descriptor.proto:0\n\x07typedef\x12\x1d.google.protobuf.FieldOptions\x18\xe1\xd4\x03 \x01(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.typedef_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/__init__.py b/lglpy/timeline/protos/perfetto/trace/android/view/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/display_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/view/display_pb2.py new file mode 100644 index 0000000..5111c98 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/view/display_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/view/display.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/view/display.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/trace/android/view/display.proto\x12\x0fperfetto.protos\"\xce\x02\n\x10ViewDisplayProto\"\xb9\x02\n\tColorMode\x12\x1f\n\x12\x43OLOR_MODE_INVALID\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x16\n\x12\x43OLOR_MODE_DEFAULT\x10\x00\x12\x18\n\x14\x43OLOR_MODE_BT601_625\x10\x01\x12#\n\x1f\x43OLOR_MODE_BT601_625_UNADJUSTED\x10\x02\x12\x18\n\x14\x43OLOR_MODE_BT601_525\x10\x03\x12#\n\x1f\x43OLOR_MODE_BT601_525_UNADJUSTED\x10\x04\x12\x14\n\x10\x43OLOR_MODE_BT709\x10\x05\x12\x15\n\x11\x43OLOR_MODE_DCI_P3\x10\x06\x12\x13\n\x0f\x43OLOR_MODE_SRGB\x10\x07\x12\x18\n\x14\x43OLOR_MODE_ADOBE_RGB\x10\x08\x12\x19\n\x15\x43OLOR_MODE_DISPLAY_P3\x10\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.view.display_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_VIEWDISPLAYPROTO']._serialized_start=70 + _globals['_VIEWDISPLAYPROTO']._serialized_end=404 + _globals['_VIEWDISPLAYPROTO_COLORMODE']._serialized_start=91 + _globals['_VIEWDISPLAYPROTO_COLORMODE']._serialized_end=404 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/displaycutout_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/view/displaycutout_pb2.py new file mode 100644 index 0000000..b9f4c81 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/view/displaycutout_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/view/displaycutout.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/view/displaycutout.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.android.graphics import rect_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_graphics_dot_rect__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6protos/perfetto/trace/android/view/displaycutout.proto\x12\x0fperfetto.protos\x1a\x31protos/perfetto/trace/android/graphics/rect.proto\"\xd6\x02\n\x12\x44isplayCutoutProto\x12*\n\x06insets\x18\x01 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12.\n\nbound_left\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12-\n\tbound_top\x18\x04 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12/\n\x0b\x62ound_right\x18\x05 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x30\n\x0c\x62ound_bottom\x18\x06 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x34\n\x10waterfall_insets\x18\x07 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x16\n\x0eside_overrides\x18\x08 \x03(\x05J\x04\x08\x02\x10\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.view.displaycutout_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DISPLAYCUTOUTPROTO']._serialized_start=127 + _globals['_DISPLAYCUTOUTPROTO']._serialized_end=469 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/displayinfo_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/view/displayinfo_pb2.py new file mode 100644 index 0000000..b47174f --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/view/displayinfo_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/view/displayinfo.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/view/displayinfo.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.android.view import displaycutout_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_view_dot_displaycutout__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4protos/perfetto/trace/android/view/displayinfo.proto\x12\x0fperfetto.protos\x1a\x36protos/perfetto/trace/android/view/displaycutout.proto\"\xba\x01\n\x10\x44isplayInfoProto\x12\x15\n\rlogical_width\x18\x01 \x01(\x05\x12\x16\n\x0elogical_height\x18\x02 \x01(\x05\x12\x11\n\tapp_width\x18\x03 \x01(\x05\x12\x12\n\napp_height\x18\x04 \x01(\x05\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\r\n\x05\x66lags\x18\x06 \x01(\x05\x12\x33\n\x06\x63utout\x18\x07 \x01(\x0b\x32#.perfetto.protos.DisplayCutoutProto') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.view.displayinfo_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DISPLAYINFOPROTO']._serialized_start=130 + _globals['_DISPLAYINFOPROTO']._serialized_end=316 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/enums_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/view/enums_pb2.py new file mode 100644 index 0000000..d77a4c5 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/view/enums_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/view/enums.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/view/enums.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.protos/perfetto/trace/android/view/enums.proto\x12\x0fperfetto.protos*\xc6\x01\n\x10\x44isplayStateEnum\x12\x19\n\x15\x44ISPLAY_STATE_UNKNOWN\x10\x00\x12\x15\n\x11\x44ISPLAY_STATE_OFF\x10\x01\x12\x14\n\x10\x44ISPLAY_STATE_ON\x10\x02\x12\x16\n\x12\x44ISPLAY_STATE_DOZE\x10\x03\x12\x1e\n\x1a\x44ISPLAY_STATE_DOZE_SUSPEND\x10\x04\x12\x14\n\x10\x44ISPLAY_STATE_VR\x10\x05\x12\x1c\n\x18\x44ISPLAY_STATE_ON_SUSPEND\x10\x06*\xb0\x02\n\x12\x44isplayStateReason\x12 \n\x1c\x44ISPLAY_STATE_REASON_UNKNOWN\x10\x00\x12\'\n#DISPLAY_STATE_REASON_DEFAULT_POLICY\x10\x01\x12\'\n#DISPLAY_STATE_REASON_DRAW_WAKE_LOCK\x10\x02\x12 \n\x1c\x44ISPLAY_STATE_REASON_OFFLOAD\x10\x03\x12\x1d\n\x19\x44ISPLAY_STATE_REASON_TILT\x10\x04\x12&\n\"DISPLAY_STATE_REASON_DREAM_MANAGER\x10\x05\x12\x1c\n\x18\x44ISPLAY_STATE_REASON_KEY\x10\x06\x12\x1f\n\x1b\x44ISPLAY_STATE_REASON_MOTION\x10\x07*\xdc\x05\n\x12TransitionTypeEnum\x12\x10\n\x0cTRANSIT_NONE\x10\x00\x12\x1a\n\rTRANSIT_UNSET\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x19\n\x15TRANSIT_ACTIVITY_OPEN\x10\x06\x12\x1a\n\x16TRANSIT_ACTIVITY_CLOSE\x10\x07\x12\x15\n\x11TRANSIT_TASK_OPEN\x10\x08\x12\x16\n\x12TRANSIT_TASK_CLOSE\x10\t\x12\x19\n\x15TRANSIT_TASK_TO_FRONT\x10\n\x12\x18\n\x14TRANSIT_TASK_TO_BACK\x10\x0b\x12\x1b\n\x17TRANSIT_WALLPAPER_CLOSE\x10\x0c\x12\x1a\n\x16TRANSIT_WALLPAPER_OPEN\x10\r\x12 \n\x1cTRANSIT_WALLPAPER_INTRA_OPEN\x10\x0e\x12!\n\x1dTRANSIT_WALLPAPER_INTRA_CLOSE\x10\x0f\x12\x1c\n\x18TRANSIT_TASK_OPEN_BEHIND\x10\x10\x12\x19\n\x15TRANSIT_TASK_IN_PLACE\x10\x11\x12\x1d\n\x19TRANSIT_ACTIVITY_RELAUNCH\x10\x12\x12&\n\x1eTRANSIT_DOCK_TASK_FROM_RECENTS\x10\x13\x1a\x02\x08\x01\x12\x1f\n\x1bTRANSIT_KEYGUARD_GOING_AWAY\x10\x14\x12,\n(TRANSIT_KEYGUARD_GOING_AWAY_ON_WALLPAPER\x10\x15\x12\x1c\n\x18TRANSIT_KEYGUARD_OCCLUDE\x10\x16\x12\x1e\n\x1aTRANSIT_KEYGUARD_UNOCCLUDE\x10\x17\x12%\n!TRANSIT_TRANSLUCENT_ACTIVITY_OPEN\x10\x18\x12&\n\"TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE\x10\x19\x12#\n\x1fTRANSIT_CRASHING_ACTIVITY_CLOSE\x10\x1a') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.view.enums_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRANSITIONTYPEENUM'].values_by_name["TRANSIT_DOCK_TASK_FROM_RECENTS"]._loaded_options = None + _globals['_TRANSITIONTYPEENUM'].values_by_name["TRANSIT_DOCK_TASK_FROM_RECENTS"]._serialized_options = b'\010\001' + _globals['_DISPLAYSTATEENUM']._serialized_start=68 + _globals['_DISPLAYSTATEENUM']._serialized_end=266 + _globals['_DISPLAYSTATEREASON']._serialized_start=269 + _globals['_DISPLAYSTATEREASON']._serialized_end=573 + _globals['_TRANSITIONTYPEENUM']._serialized_start=576 + _globals['_TRANSITIONTYPEENUM']._serialized_end=1308 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/imefocuscontroller_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/view/imefocuscontroller_pb2.py new file mode 100644 index 0000000..ce54ede --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/view/imefocuscontroller_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/view/imefocuscontroller.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/view/imefocuscontroller.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n;protos/perfetto/trace/android/view/imefocuscontroller.proto\x12\x0fperfetto.protos\"g\n\x17ImeFocusControllerProto\x12\x15\n\rhas_ime_focus\x18\x01 \x01(\x08\x12\x17\n\x0bserved_view\x18\x02 \x01(\tB\x02\x18\x01\x12\x1c\n\x10next_served_view\x18\x03 \x01(\tB\x02\x18\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.view.imefocuscontroller_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_IMEFOCUSCONTROLLERPROTO'].fields_by_name['served_view']._loaded_options = None + _globals['_IMEFOCUSCONTROLLERPROTO'].fields_by_name['served_view']._serialized_options = b'\030\001' + _globals['_IMEFOCUSCONTROLLERPROTO'].fields_by_name['next_served_view']._loaded_options = None + _globals['_IMEFOCUSCONTROLLERPROTO'].fields_by_name['next_served_view']._serialized_options = b'\030\001' + _globals['_IMEFOCUSCONTROLLERPROTO']._serialized_start=80 + _globals['_IMEFOCUSCONTROLLERPROTO']._serialized_end=183 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/imeinsetssourceconsumer_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/view/imeinsetssourceconsumer_pb2.py new file mode 100644 index 0000000..7cf26b8 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/view/imeinsetssourceconsumer_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/view/imeinsetssourceconsumer.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/view/imeinsetssourceconsumer.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.android.view import insetssourceconsumer_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_view_dot_insetssourceconsumer__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n@protos/perfetto/trace/android/view/imeinsetssourceconsumer.proto\x12\x0fperfetto.protos\x1a=protos/perfetto/trace/android/view/insetssourceconsumer.proto\"\x98\x02\n\x1cImeInsetsSourceConsumerProto\x12J\n\x16insets_source_consumer\x18\x01 \x01(\x0b\x32*.perfetto.protos.InsetsSourceConsumerProto\x12-\n%is_requested_visible_awaiting_control\x18\x03 \x01(\x08\x12%\n\x19is_hide_animation_running\x18\x04 \x01(\x08\x42\x02\x18\x01\x12\x33\n\'is_show_requested_during_hide_animation\x18\x05 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13has_pending_request\x18\x06 \x01(\x08J\x04\x08\x02\x10\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.view.imeinsetssourceconsumer_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_IMEINSETSSOURCECONSUMERPROTO'].fields_by_name['is_hide_animation_running']._loaded_options = None + _globals['_IMEINSETSSOURCECONSUMERPROTO'].fields_by_name['is_hide_animation_running']._serialized_options = b'\030\001' + _globals['_IMEINSETSSOURCECONSUMERPROTO'].fields_by_name['is_show_requested_during_hide_animation']._loaded_options = None + _globals['_IMEINSETSSOURCECONSUMERPROTO'].fields_by_name['is_show_requested_during_hide_animation']._serialized_options = b'\030\001' + _globals['_IMEINSETSSOURCECONSUMERPROTO']._serialized_start=149 + _globals['_IMEINSETSSOURCECONSUMERPROTO']._serialized_end=429 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/inputmethod/__init__.py b/lglpy/timeline/protos/perfetto/trace/android/view/inputmethod/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/inputmethod/editorinfo_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/view/inputmethod/editorinfo_pb2.py new file mode 100644 index 0000000..d15a0c3 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/view/inputmethod/editorinfo_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/view/inputmethod/editorinfo.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/view/inputmethod/editorinfo.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?protos/perfetto/trace/android/view/inputmethod/editorinfo.proto\x12\x0fperfetto.protos\"\xa4\x01\n\x0f\x45\x64itorInfoProto\x12\x12\n\ninput_type\x18\x01 \x01(\x05\x12\x13\n\x0bime_options\x18\x02 \x01(\x05\x12\x1b\n\x13private_ime_options\x18\x03 \x01(\t\x12\x14\n\x0cpackage_name\x18\x04 \x01(\t\x12\x10\n\x08\x66ield_id\x18\x05 \x01(\x05\x12#\n\x1btarget_input_method_user_id\x18\x06 \x01(\x05') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.view.inputmethod.editorinfo_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_EDITORINFOPROTO']._serialized_start=85 + _globals['_EDITORINFOPROTO']._serialized_end=249 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/inputmethod/inputconnection_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/view/inputmethod/inputconnection_pb2.py new file mode 100644 index 0000000..f9c513d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/view/inputmethod/inputconnection_pb2.py @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/view/inputmethod/inputconnection.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/view/inputmethod/inputconnection.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nDprotos/perfetto/trace/android/view/inputmethod/inputconnection.proto\x12\x0fperfetto.protos\"t\n\x14InputConnectionProto\x12\x1b\n\x13selected_text_start\x18\x03 \x01(\x05\x12\x19\n\x11selected_text_end\x18\x04 \x01(\x05\x12\x18\n\x10\x63ursor_caps_mode\x18\x05 \x01(\x05J\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\"\xa9\n\n\x18InputConnectionCallProto\x12_\n\x16get_text_before_cursor\x18\x01 \x01(\x0b\x32=.perfetto.protos.InputConnectionCallProto.GetTextBeforeCursorH\x00\x12]\n\x15get_text_after_cursor\x18\x02 \x01(\x0b\x32<.perfetto.protos.InputConnectionCallProto.GetTextAfterCursorH\x00\x12V\n\x11get_selected_text\x18\x03 \x01(\x0b\x32\x39.perfetto.protos.InputConnectionCallProto.GetSelectedTextH\x00\x12\\\n\x14get_surrounding_text\x18\x04 \x01(\x0b\x32<.perfetto.protos.InputConnectionCallProto.GetSurroundingTextH\x00\x12[\n\x14get_cursor_caps_mode\x18\x05 \x01(\x0b\x32;.perfetto.protos.InputConnectionCallProto.GetCursorCapsModeH\x00\x12X\n\x12get_extracted_text\x18\x06 \x01(\x0b\x32:.perfetto.protos.InputConnectionCallProto.GetExtractedTextH\x00\x1a:\n\x13GetTextBeforeCursor\x12\x0e\n\x06length\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\x05J\x04\x08\x03\x10\x04\x1a\x39\n\x12GetTextAfterCursor\x12\x0e\n\x06length\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\x05J\x04\x08\x03\x10\x04\x1a&\n\x0fGetSelectedText\x12\r\n\x05\x66lags\x18\x01 \x01(\x05J\x04\x08\x02\x10\x03\x1a\x87\x02\n\x12GetSurroundingText\x12\x15\n\rbefore_length\x18\x01 \x01(\x05\x12\x14\n\x0c\x61\x66ter_length\x18\x02 \x01(\x05\x12\r\n\x05\x66lags\x18\x03 \x01(\x05\x12\\\n\x06result\x18\x04 \x01(\x0b\x32L.perfetto.protos.InputConnectionCallProto.GetSurroundingText.SurroundingText\x1aW\n\x0fSurroundingText\x12\x17\n\x0fselection_start\x18\x02 \x01(\x05\x12\x15\n\rselection_end\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x05J\x04\x08\x01\x10\x02\x1a\x36\n\x11GetCursorCapsMode\x12\x11\n\treq_modes\x18\x01 \x01(\x05\x12\x0e\n\x06result\x18\x02 \x01(\x05\x1a\xef\x01\n\x10GetExtractedText\x12`\n\x07request\x18\x01 \x01(\x0b\x32O.perfetto.protos.InputConnectionCallProto.GetExtractedText.ExtractedTextRequest\x12\r\n\x05\x66lags\x18\x02 \x01(\x05\x1a\x64\n\x14\x45xtractedTextRequest\x12\r\n\x05token\x18\x01 \x01(\x05\x12\r\n\x05\x66lags\x18\x02 \x01(\x05\x12\x16\n\x0ehint_max_lines\x18\x03 \x01(\x05\x12\x16\n\x0ehint_max_chars\x18\x04 \x01(\x05J\x04\x08\x03\x10\x04\x42\r\n\x0bmethod_call') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.view.inputmethod.inputconnection_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_INPUTCONNECTIONPROTO']._serialized_start=89 + _globals['_INPUTCONNECTIONPROTO']._serialized_end=205 + _globals['_INPUTCONNECTIONCALLPROTO']._serialized_start=208 + _globals['_INPUTCONNECTIONCALLPROTO']._serialized_end=1529 + _globals['_INPUTCONNECTIONCALLPROTO_GETTEXTBEFORECURSOR']._serialized_start=793 + _globals['_INPUTCONNECTIONCALLPROTO_GETTEXTBEFORECURSOR']._serialized_end=851 + _globals['_INPUTCONNECTIONCALLPROTO_GETTEXTAFTERCURSOR']._serialized_start=853 + _globals['_INPUTCONNECTIONCALLPROTO_GETTEXTAFTERCURSOR']._serialized_end=910 + _globals['_INPUTCONNECTIONCALLPROTO_GETSELECTEDTEXT']._serialized_start=912 + _globals['_INPUTCONNECTIONCALLPROTO_GETSELECTEDTEXT']._serialized_end=950 + _globals['_INPUTCONNECTIONCALLPROTO_GETSURROUNDINGTEXT']._serialized_start=953 + _globals['_INPUTCONNECTIONCALLPROTO_GETSURROUNDINGTEXT']._serialized_end=1216 + _globals['_INPUTCONNECTIONCALLPROTO_GETSURROUNDINGTEXT_SURROUNDINGTEXT']._serialized_start=1129 + _globals['_INPUTCONNECTIONCALLPROTO_GETSURROUNDINGTEXT_SURROUNDINGTEXT']._serialized_end=1216 + _globals['_INPUTCONNECTIONCALLPROTO_GETCURSORCAPSMODE']._serialized_start=1218 + _globals['_INPUTCONNECTIONCALLPROTO_GETCURSORCAPSMODE']._serialized_end=1272 + _globals['_INPUTCONNECTIONCALLPROTO_GETEXTRACTEDTEXT']._serialized_start=1275 + _globals['_INPUTCONNECTIONCALLPROTO_GETEXTRACTEDTEXT']._serialized_end=1514 + _globals['_INPUTCONNECTIONCALLPROTO_GETEXTRACTEDTEXT_EXTRACTEDTEXTREQUEST']._serialized_start=1408 + _globals['_INPUTCONNECTIONCALLPROTO_GETEXTRACTEDTEXT_EXTRACTEDTEXTREQUEST']._serialized_end=1508 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/inputmethod/inputmethodmanager_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/view/inputmethod/inputmethodmanager_pb2.py new file mode 100644 index 0000000..a5b3652 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/view/inputmethod/inputmethodmanager_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/view/inputmethod/inputmethodmanager.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/view/inputmethod/inputmethodmanager.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nGprotos/perfetto/trace/android/view/inputmethod/inputmethodmanager.proto\x12\x0fperfetto.protos\"\xb0\x01\n\x17InputMethodManagerProto\x12\x0e\n\x06\x63ur_id\x18\x01 \x01(\t\x12\x17\n\x0f\x66ullscreen_mode\x18\x02 \x01(\x08\x12\x12\n\ndisplay_id\x18\x03 \x01(\x05\x12\x0e\n\x06\x61\x63tive\x18\x04 \x01(\x08\x12\x19\n\x11served_connecting\x18\x05 \x01(\x08\x12\x13\n\x0bserved_view\x18\x06 \x01(\t\x12\x18\n\x10next_served_view\x18\x07 \x01(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.view.inputmethod.inputmethodmanager_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_INPUTMETHODMANAGERPROTO']._serialized_start=93 + _globals['_INPUTMETHODMANAGERPROTO']._serialized_end=269 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/insetsanimationcontrolimpl_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/view/insetsanimationcontrolimpl_pb2.py new file mode 100644 index 0000000..5cdeddb --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/view/insetsanimationcontrolimpl_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/view/insetsanimationcontrolimpl.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/view/insetsanimationcontrolimpl.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nCprotos/perfetto/trace/android/view/insetsanimationcontrolimpl.proto\x12\x0fperfetto.protos\"\xd9\x01\n\x1fInsetsAnimationControlImplProto\x12\x14\n\x0cis_cancelled\x18\x01 \x01(\x08\x12\x13\n\x0bis_finished\x18\x02 \x01(\x08\x12\x12\n\ntmp_matrix\x18\x03 \x01(\t\x12\x16\n\x0epending_insets\x18\x04 \x01(\t\x12\x18\n\x10pending_fraction\x18\x05 \x01(\x02\x12\x17\n\x0fshown_on_finish\x18\x06 \x01(\x08\x12\x15\n\rcurrent_alpha\x18\x07 \x01(\x02\x12\x15\n\rpending_alpha\x18\x08 \x01(\x02') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.view.insetsanimationcontrolimpl_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_INSETSANIMATIONCONTROLIMPLPROTO']._serialized_start=89 + _globals['_INSETSANIMATIONCONTROLIMPLPROTO']._serialized_end=306 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/insetscontroller_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/view/insetscontroller_pb2.py new file mode 100644 index 0000000..e621223 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/view/insetscontroller_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/view/insetscontroller.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/view/insetscontroller.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.android.view import insetsstate_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_view_dot_insetsstate__pb2 +from protos.perfetto.trace.android.view import insetsanimationcontrolimpl_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_view_dot_insetsanimationcontrolimpl__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/trace/android/view/insetscontroller.proto\x12\x0fperfetto.protos\x1a\x34protos/perfetto/trace/android/view/insetsstate.proto\x1a\x43protos/perfetto/trace/android/view/insetsanimationcontrolimpl.proto\"\x8c\x01\n\x15InsetsControllerProto\x12\x30\n\x05state\x18\x01 \x01(\x0b\x32!.perfetto.protos.InsetsStateProto\x12\x41\n\x07\x63ontrol\x18\x02 \x03(\x0b\x32\x30.perfetto.protos.InsetsAnimationControlImplProto') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.view.insetscontroller_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_INSETSCONTROLLERPROTO']._serialized_start=202 + _globals['_INSETSCONTROLLERPROTO']._serialized_end=342 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/insetssource_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/view/insetssource_pb2.py new file mode 100644 index 0000000..934b8e4 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/view/insetssource_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/view/insetssource.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/view/insetssource.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.android.graphics import rect_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_graphics_dot_rect__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5protos/perfetto/trace/android/view/insetssource.proto\x12\x0fperfetto.protos\x1a\x31protos/perfetto/trace/android/graphics/rect.proto\"\xa9\x01\n\x11InsetsSourceProto\x12\x10\n\x04type\x18\x01 \x01(\tB\x02\x18\x01\x12)\n\x05\x66rame\x18\x02 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x31\n\rvisible_frame\x18\x03 \x01(\x0b\x32\x1a.perfetto.protos.RectProto\x12\x0f\n\x07visible\x18\x04 \x01(\x08\x12\x13\n\x0btype_number\x18\x05 \x01(\x05') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.view.insetssource_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_INSETSSOURCEPROTO'].fields_by_name['type']._loaded_options = None + _globals['_INSETSSOURCEPROTO'].fields_by_name['type']._serialized_options = b'\030\001' + _globals['_INSETSSOURCEPROTO']._serialized_start=126 + _globals['_INSETSSOURCEPROTO']._serialized_end=295 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/view/insetssourceconsumer_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/view/insetssourceconsumer_pb2.py new file mode 100644 index 0000000..be1e1d6 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/view/insetssourceconsumer_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/view/insetssourceconsumer.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/view/insetssourceconsumer.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.android.view import insetssourcecontrol_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_view_dot_insetssourcecontrol__pb2 +from protos.perfetto.trace.android.graphics import rect_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_graphics_dot_rect__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n=protos/perfetto/trace/android/view/insetssourceconsumer.proto\x12\x0fperfetto.protos\x1a\x8a\xa6\x1d:android.view.WindowManager.LayoutParams.SoftInputModeFlags\x12\x38\n\x06\x66ormat\x18\n \x01(\x0e\x32(.perfetto.protos.PixelFormatProto.Format\x12\x19\n\x11window_animations\x18\x0b \x01(\x05\x12\r\n\x05\x61lpha\x18\x0c \x01(\x02\x12\x19\n\x11screen_brightness\x18\r \x01(\x02\x12\x19\n\x11\x62utton_brightness\x18\x0e \x01(\x02\x12V\n\x12rotation_animation\x18\x0f \x01(\x0e\x32:.perfetto.protos.WindowLayoutParamsProto.RotationAnimation\x12\x1e\n\x16preferred_refresh_rate\x18\x10 \x01(\x02\x12!\n\x19preferred_display_mode_id\x18\x11 \x01(\x05\x12\x1f\n\x17has_system_ui_listeners\x18\x12 \x01(\x08\x12Z\n\x13input_feature_flags\x18\x13 \x01(\rB=\x8a\xa6\x1d\x39\x61ndroid.view.WindowManager.LayoutParams.InputFeatureFlags\x12\x1d\n\x15user_activity_timeout\x18\x14 \x01(\x03\x12?\n\ncolor_mode\x18\x17 \x01(\x0e\x32+.perfetto.protos.ViewDisplayProto.ColorMode\x12@\n\x05\x66lags\x18\x18 \x01(\rB1\x8a\xa6\x1d-android.view.WindowManager.LayoutParams.Flags\x12O\n\rprivate_flags\x18\x1a \x01(\rB8\x8a\xa6\x1d\x34\x61ndroid.view.WindowManager.LayoutParams.PrivateFlags\x12g\n\x1asystem_ui_visibility_flags\x18\x1b \x01(\rBC\x8a\xa6\x1d?android.view.WindowManager.LayoutParams.SystemUiVisibilityFlags\x12o\n\"subtree_system_ui_visibility_flags\x18\x1c \x01(\rBC\x8a\xa6\x1d?android.view.WindowManager.LayoutParams.SystemUiVisibilityFlags\x12\x46\n\nappearance\x18\x1d \x01(\rB2\x8a\xa6\x1d.android.view.WindowInsetsController.Appearance\x12\x42\n\x08\x62\x65havior\x18\x1e \x01(\rB0\x8a\xa6\x1d,android.view.WindowInsetsController.Behavior\x12G\n\x10\x66it_insets_types\x18\x1f \x01(\rB-\x8a\xa6\x1d)android.view.WindowInsets.Type.InsetsType\x12G\n\x10\x66it_insets_sides\x18 \x01(\rB-\x8a\xa6\x1d)android.view.WindowInsets.Side.InsetsSide\x12\x1d\n\x15\x66it_ignore_visibility\x18! \x01(\x08\"\xa3\x01\n\x11RotationAnimation\x12+\n\x1eROTATION_ANIMATION_UNSPECIFIED\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12 \n\x1cROTATION_ANIMATION_CROSSFADE\x10\x01\x12\x1e\n\x1aROTATION_ANIMATION_JUMPCUT\x10\x02\x12\x1f\n\x1bROTATION_ANIMATION_SEAMLESS\x10\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.view.windowlayoutparams_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['type']._loaded_options = None + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['type']._serialized_options = b'\212\246\0352android.view.WindowManager.LayoutParams.WindowType' + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['gravity']._loaded_options = None + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['gravity']._serialized_options = b'\212\246\035!android.view.Gravity.GravityFlags' + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['soft_input_mode']._loaded_options = None + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['soft_input_mode']._serialized_options = b'\212\246\035:android.view.WindowManager.LayoutParams.SoftInputModeFlags' + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['input_feature_flags']._loaded_options = None + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['input_feature_flags']._serialized_options = b'\212\246\0359android.view.WindowManager.LayoutParams.InputFeatureFlags' + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['flags']._loaded_options = None + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['flags']._serialized_options = b'\212\246\035-android.view.WindowManager.LayoutParams.Flags' + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['private_flags']._loaded_options = None + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['private_flags']._serialized_options = b'\212\246\0354android.view.WindowManager.LayoutParams.PrivateFlags' + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['system_ui_visibility_flags']._loaded_options = None + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['system_ui_visibility_flags']._serialized_options = b'\212\246\035?android.view.WindowManager.LayoutParams.SystemUiVisibilityFlags' + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['subtree_system_ui_visibility_flags']._loaded_options = None + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['subtree_system_ui_visibility_flags']._serialized_options = b'\212\246\035?android.view.WindowManager.LayoutParams.SystemUiVisibilityFlags' + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['appearance']._loaded_options = None + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['appearance']._serialized_options = b'\212\246\035.android.view.WindowInsetsController.Appearance' + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['behavior']._loaded_options = None + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['behavior']._serialized_options = b'\212\246\035,android.view.WindowInsetsController.Behavior' + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['fit_insets_types']._loaded_options = None + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['fit_insets_types']._serialized_options = b'\212\246\035)android.view.WindowInsets.Type.InsetsType' + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['fit_insets_sides']._loaded_options = None + _globals['_WINDOWLAYOUTPARAMSPROTO'].fields_by_name['fit_insets_sides']._serialized_options = b'\212\246\035)android.view.WindowInsets.Side.InsetsSide' + _globals['_WINDOWLAYOUTPARAMSPROTO']._serialized_start=234 + _globals['_WINDOWLAYOUTPARAMSPROTO']._serialized_end=1957 + _globals['_WINDOWLAYOUTPARAMSPROTO_ROTATIONANIMATION']._serialized_start=1794 + _globals['_WINDOWLAYOUTPARAMSPROTO_ROTATIONANIMATION']._serialized_end=1957 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/viewcapture_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/viewcapture_pb2.py new file mode 100644 index 0000000..e27d1c5 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/viewcapture_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/viewcapture.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/viewcapture.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/protos/perfetto/trace/android/viewcapture.proto\x12\x0fperfetto.protos\"\xeb\x03\n\x0bViewCapture\x12\x18\n\x10package_name_iid\x18\x01 \x01(\x05\x12\x17\n\x0fwindow_name_iid\x18\x02 \x01(\x05\x12\x30\n\x05views\x18\x03 \x03(\x0b\x32!.perfetto.protos.ViewCapture.View\x1a\xf6\x02\n\x04View\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x11\n\tparent_id\x18\x02 \x01(\x05\x12\x10\n\x08hashcode\x18\x03 \x01(\x05\x12\x13\n\x0bview_id_iid\x18\x04 \x01(\x05\x12\x16\n\x0e\x63lass_name_iid\x18\x05 \x01(\x05\x12\x0c\n\x04left\x18\x06 \x01(\x05\x12\x0b\n\x03top\x18\x07 \x01(\x05\x12\r\n\x05width\x18\x08 \x01(\x05\x12\x0e\n\x06height\x18\t \x01(\x05\x12\x10\n\x08scroll_x\x18\n \x01(\x05\x12\x10\n\x08scroll_y\x18\x0b \x01(\x05\x12\x15\n\rtranslation_x\x18\x0c \x01(\x02\x12\x15\n\rtranslation_y\x18\r \x01(\x02\x12\x0f\n\x07scale_x\x18\x0e \x01(\x02\x12\x0f\n\x07scale_y\x18\x0f \x01(\x02\x12\r\n\x05\x61lpha\x18\x10 \x01(\x02\x12\x15\n\rwill_not_draw\x18\x11 \x01(\x08\x12\x15\n\rclip_children\x18\x12 \x01(\x08\x12\x12\n\nvisibility\x18\x13 \x01(\x05\x12\x11\n\televation\x18\x14 \x01(\x02') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.viewcapture_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_VIEWCAPTURE']._serialized_start=69 + _globals['_VIEWCAPTURE']._serialized_end=560 + _globals['_VIEWCAPTURE_VIEW']._serialized_start=186 + _globals['_VIEWCAPTURE_VIEW']._serialized_end=560 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/windowmanager_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/windowmanager_pb2.py new file mode 100644 index 0000000..50ee5d5 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/windowmanager_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/windowmanager.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/windowmanager.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.android.server import windowmanagerservice_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_server_dot_windowmanagerservice__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1protos/perfetto/trace/android/windowmanager.proto\x12\x0fperfetto.protos\x1a?protos/perfetto/trace/android/server/windowmanagerservice.proto\"\xe3\x01\n\x1bWindowManagerTraceFileProto\x12\x14\n\x0cmagic_number\x18\x01 \x01(\x06\x12\x37\n\x05\x65ntry\x18\x02 \x03(\x0b\x32(.perfetto.protos.WindowManagerTraceEntry\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\xd7\x92\xb9\xa2\x05\x12\x16\n\x0eMAGIC_NUMBER_H\x10\xd2\x82\x8d\xaa\x04\"\x98\x01\n\x17WindowManagerTraceEntry\x12\x1e\n\x16\x65lapsed_realtime_nanos\x18\x01 \x01(\x06\x12\r\n\x05where\x18\x02 \x01(\t\x12N\n\x16window_manager_service\x18\x03 \x01(\x0b\x32..perfetto.protos.WindowManagerServiceDumpProto') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.android.windowmanager_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_WINDOWMANAGERTRACEFILEPROTO']._serialized_start=136 + _globals['_WINDOWMANAGERTRACEFILEPROTO']._serialized_end=363 + _globals['_WINDOWMANAGERTRACEFILEPROTO_MAGICNUMBER']._serialized_start=289 + _globals['_WINDOWMANAGERTRACEFILEPROTO_MAGICNUMBER']._serialized_end=363 + _globals['_WINDOWMANAGERTRACEENTRY']._serialized_start=366 + _globals['_WINDOWMANAGERTRACEENTRY']._serialized_end=518 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/android/winscope_extensions_impl_pb2.py b/lglpy/timeline/protos/perfetto/trace/android/winscope_extensions_impl_pb2.py new file mode 100644 index 0000000..30d9ab2 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/android/winscope_extensions_impl_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/android/winscope_extensions_impl.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/android/winscope_extensions_impl.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.android import winscope_extensions_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_winscope__extensions__pb2 +from protos.perfetto.trace.android import android_input_event_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_android__input__event__pb2 +from protos.perfetto.trace.android import inputmethodeditor_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_inputmethodeditor__pb2 +from protos.perfetto.trace.android import viewcapture_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_viewcapture__pb2 +from protos.perfetto.trace.android import windowmanager_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_windowmanager__pb2 + +from protos.perfetto.trace.android.winscope_extensions_pb2 import * + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.chrome.chrome_trace_event_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMEEVENTBUNDLE'].fields_by_name['trace_events']._loaded_options = None + _globals['_CHROMEEVENTBUNDLE'].fields_by_name['trace_events']._serialized_options = b'\030\001' + _globals['_CHROMEEVENTBUNDLE'].fields_by_name['string_table']._loaded_options = None + _globals['_CHROMEEVENTBUNDLE'].fields_by_name['string_table']._serialized_options = b'\030\001' + _globals['_CHROMETRACEDVALUE']._serialized_start=75 + _globals['_CHROMETRACEDVALUE']._serialized_end=414 + _globals['_CHROMETRACEDVALUE_NESTEDTYPE']._serialized_start=381 + _globals['_CHROMETRACEDVALUE_NESTEDTYPE']._serialized_end=414 + _globals['_CHROMESTRINGTABLEENTRY']._serialized_start=416 + _globals['_CHROMESTRINGTABLEENTRY']._serialized_end=470 + _globals['_CHROMETRACEEVENT']._serialized_start=473 + _globals['_CHROMETRACEEVENT']._serialized_end=1114 + _globals['_CHROMETRACEEVENT_ARG']._serialized_start=846 + _globals['_CHROMETRACEEVENT_ARG']._serialized_end=1114 + _globals['_CHROMEMETADATA']._serialized_start=1117 + _globals['_CHROMEMETADATA']._serialized_end=1245 + _globals['_CHROMELEGACYJSONTRACE']._serialized_start=1248 + _globals['_CHROMELEGACYJSONTRACE']._serialized_end=1396 + _globals['_CHROMELEGACYJSONTRACE_TRACETYPE']._serialized_start=1351 + _globals['_CHROMELEGACYJSONTRACE_TRACETYPE']._serialized_end=1396 + _globals['_CHROMEEVENTBUNDLE']._serialized_start=1399 + _globals['_CHROMEEVENTBUNDLE']._serialized_end=1694 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/chrome/chrome_trace_packet_pb2.py b/lglpy/timeline/protos/perfetto/trace/chrome/chrome_trace_packet_pb2.py new file mode 100644 index 0000000..408d4fc --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/chrome/chrome_trace_packet_pb2.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/chrome/chrome_trace_packet.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/chrome/chrome_trace_packet.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import trace_stats_pb2 as protos_dot_perfetto_dot_common_dot_trace__stats__pb2 +from protos.perfetto.config import trace_config_pb2 as protos_dot_perfetto_dot_config_dot_trace__config__pb2 +from protos.perfetto.trace.chrome import chrome_trace_event_pb2 as protos_dot_perfetto_dot_trace_dot_chrome_dot_chrome__trace__event__pb2 +from protos.perfetto.trace.chrome import chrome_trigger_pb2 as protos_dot_perfetto_dot_trace_dot_chrome_dot_chrome__trigger__pb2 +from protos.perfetto.trace import clock_snapshot_pb2 as protos_dot_perfetto_dot_trace_dot_clock__snapshot__pb2 +from protos.perfetto.trace.interned_data import interned_data_pb2 as protos_dot_perfetto_dot_trace_dot_interned__data_dot_interned__data__pb2 +from protos.perfetto.trace.profiling import profile_packet_pb2 as protos_dot_perfetto_dot_trace_dot_profiling_dot_profile__packet__pb2 +from protos.perfetto.trace.profiling import profile_common_pb2 as protos_dot_perfetto_dot_trace_dot_profiling_dot_profile__common__pb2 +from protos.perfetto.trace.track_event import process_descriptor_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_process__descriptor__pb2 +from protos.perfetto.trace.track_event import thread_descriptor_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_thread__descriptor__pb2 +from protos.perfetto.trace.track_event import track_event_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_track__event__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6protos/perfetto/trace/chrome/chrome_trace_packet.proto\x12\x0fperfetto.protos\x1a(protos/perfetto/common/trace_stats.proto\x1a)protos/perfetto/config/trace_config.proto\x1a\x35protos/perfetto/trace/chrome/chrome_trace_event.proto\x1a\x31protos/perfetto/trace/chrome/chrome_trigger.proto\x1a*protos/perfetto/trace/clock_snapshot.proto\x1a\x37protos/perfetto/trace/interned_data/interned_data.proto\x1a\x34protos/perfetto/trace/profiling/profile_packet.proto\x1a\x34protos/perfetto/trace/profiling/profile_common.proto\x1a:protos/perfetto/trace/track_event/process_descriptor.proto\x1a\x39protos/perfetto/trace/track_event/thread_descriptor.proto\x1a\x33protos/perfetto/trace/track_event/track_event.proto\"\x84\x06\n\x11\x43hromeTracePacket\x12\x39\n\rchrome_events\x18\x05 \x01(\x0b\x32\".perfetto.protos.ChromeEventBundle\x12\x36\n\x0e\x63lock_snapshot\x18\x06 \x01(\x0b\x32\x1e.perfetto.protos.ClockSnapshot\x12\x30\n\x0btrack_event\x18\x0b \x01(\x0b\x32\x1b.perfetto.protos.TrackEvent\x12>\n\x12process_descriptor\x18+ \x01(\x0b\x32\".perfetto.protos.ProcessDescriptor\x12<\n\x11thread_descriptor\x18, \x01(\x0b\x32!.perfetto.protos.ThreadDescriptor\x12I\n\x18streaming_profile_packet\x18\x36 \x01(\x0b\x32\'.perfetto.protos.StreamingProfilePacket\x12\x45\n\x16profiled_frame_symbols\x18\x37 \x01(\x0b\x32%.perfetto.protos.ProfiledFrameSymbols\x12\x36\n\x0e\x63hrome_trigger\x18m \x01(\x0b\x32\x1e.perfetto.protos.ChromeTrigger\x12\x32\n\x0ctrace_config\x18! \x01(\x0b\x32\x1c.perfetto.protos.TraceConfig\x12\x30\n\x0btrace_stats\x18# \x01(\x0b\x32\x1b.perfetto.protos.TraceStats\x12\"\n\x1atrusted_packet_sequence_id\x18\n \x01(\r\x12\x34\n\rinterned_data\x18\x0c \x01(\x0b\x32\x1d.perfetto.protos.InternedData\x12!\n\x19incremental_state_cleared\x18) \x01(\x08\x12\x1f\n\x17previous_packet_dropped\x18* \x01(\x08\x62\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.chrome.chrome_trace_packet_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMETRACEPACKET']._serialized_start=648 + _globals['_CHROMETRACEPACKET']._serialized_end=1420 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/chrome/chrome_trigger_pb2.py b/lglpy/timeline/protos/perfetto/trace/chrome/chrome_trigger_pb2.py new file mode 100644 index 0000000..6af7d05 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/chrome/chrome_trigger_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/chrome/chrome_trigger.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/chrome/chrome_trigger.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1protos/perfetto/trace/chrome/chrome_trigger.proto\x12\x0fperfetto.protos\"@\n\rChromeTrigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x19\n\x11trigger_name_hash\x18\x02 \x01(\x07') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.chrome.chrome_trigger_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMETRIGGER']._serialized_start=70 + _globals['_CHROMETRIGGER']._serialized_end=134 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/chrome/v8_pb2.py b/lglpy/timeline/protos/perfetto/trace/chrome/v8_pb2.py new file mode 100644 index 0000000..d0025c5 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/chrome/v8_pb2.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/chrome/v8.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/chrome/v8.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%protos/perfetto/trace/chrome/v8.proto\x12\x0fperfetto.protos\"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\"C\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\"\xb7\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\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.chrome.v8_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_V8STRING']._serialized_start=58 + _globals['_V8STRING']._serialized_end=144 + _globals['_INTERNEDV8STRING']._serialized_start=146 + _globals['_INTERNEDV8STRING']._serialized_end=253 + _globals['_INTERNEDV8JSSCRIPT']._serialized_start=256 + _globals['_INTERNEDV8JSSCRIPT']._serialized_end=581 + _globals['_INTERNEDV8JSSCRIPT_TYPE']._serialized_start=451 + _globals['_INTERNEDV8JSSCRIPT_TYPE']._serialized_end=581 + _globals['_INTERNEDV8WASMSCRIPT']._serialized_start=583 + _globals['_INTERNEDV8WASMSCRIPT']._serialized_end=650 + _globals['_INTERNEDV8JSFUNCTION']._serialized_start=653 + _globals['_INTERNEDV8JSFUNCTION']._serialized_end=1732 + _globals['_INTERNEDV8JSFUNCTION_KIND']._serialized_start=850 + _globals['_INTERNEDV8JSFUNCTION_KIND']._serialized_end=1732 + _globals['_INTERNEDV8ISOLATE']._serialized_start=1735 + _globals['_INTERNEDV8ISOLATE']._serialized_end=2062 + _globals['_INTERNEDV8ISOLATE_CODERANGE']._serialized_start=1943 + _globals['_INTERNEDV8ISOLATE_CODERANGE']._serialized_end=2062 + _globals['_V8JSCODE']._serialized_start=2065 + _globals['_V8JSCODE']._serialized_end=2427 + _globals['_V8JSCODE_TIER']._serialized_start=2291 + _globals['_V8JSCODE_TIER']._serialized_end=2411 + _globals['_V8INTERNALCODE']._serialized_start=2430 + _globals['_V8INTERNALCODE']._serialized_end=2911 + _globals['_V8INTERNALCODE_TYPE']._serialized_start=2653 + _globals['_V8INTERNALCODE_TYPE']._serialized_end=2911 + _globals['_V8WASMCODE']._serialized_start=2914 + _globals['_V8WASMCODE']._serialized_end=3237 + _globals['_V8WASMCODE_TIER']._serialized_start=3176 + _globals['_V8WASMCODE_TIER']._serialized_end=3237 + _globals['_V8REGEXPCODE']._serialized_start=3240 + _globals['_V8REGEXPCODE']._serialized_end=3416 + _globals['_V8CODEMOVE']._serialized_start=3419 + _globals['_V8CODEMOVE']._serialized_end=3644 + _globals['_V8CODEDEFAULTS']._serialized_start=3646 + _globals['_V8CODEDEFAULTS']._serialized_end=3675 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/clock_snapshot_pb2.py b/lglpy/timeline/protos/perfetto/trace/clock_snapshot_pb2.py new file mode 100644 index 0000000..d0165f4 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/clock_snapshot_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/clock_snapshot.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/clock_snapshot.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import builtin_clock_pb2 as protos_dot_perfetto_dot_common_dot_builtin__clock__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/clock_snapshot.proto\x12\x0fperfetto.protos\x1a*protos/perfetto/common/builtin_clock.proto\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.clock_snapshot_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CLOCKSNAPSHOT']._serialized_start=108 + _globals['_CLOCKSNAPSHOT']._serialized_end=510 + _globals['_CLOCKSNAPSHOT_CLOCK']._serialized_start=240 + _globals['_CLOCKSNAPSHOT_CLOCK']._serialized_end=510 + _globals['_CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS']._serialized_start=339 + _globals['_CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS']._serialized_end=510 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/etw/__init__.py b/lglpy/timeline/protos/perfetto/trace/etw/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/etw/etw_event_bundle_pb2.py b/lglpy/timeline/protos/perfetto/trace/etw/etw_event_bundle_pb2.py new file mode 100644 index 0000000..cdb137d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/etw/etw_event_bundle_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/etw/etw_event_bundle.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/etw/etw_event_bundle.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.etw import etw_event_pb2 as protos_dot_perfetto_dot_trace_dot_etw_dot_etw__event__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/trace/etw/etw_event_bundle.proto\x12\x0fperfetto.protos\x1a)protos/perfetto/trace/etw/etw_event.proto\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.etw.etw_event_bundle_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ETWTRACEEVENTBUNDLE']._serialized_start=112 + _globals['_ETWTRACEEVENTBUNDLE']._serialized_end=193 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/etw/etw_event_pb2.py b/lglpy/timeline/protos/perfetto/trace/etw/etw_event_pb2.py new file mode 100644 index 0000000..acca65d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/etw/etw_event_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/etw/etw_event.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/etw/etw_event.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.etw import etw_pb2 as protos_dot_perfetto_dot_trace_dot_etw_dot_etw__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)protos/perfetto/trace/etw/etw_event.proto\x12\x0fperfetto.protos\x1a#protos/perfetto/trace/etw/etw.proto\"\xac\x01\n\rEtwTraceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \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\x42\x07\n\x05\x65vent') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.etw.etw_event_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ETWTRACEEVENT']._serialized_start=100 + _globals['_ETWTRACEEVENT']._serialized_end=272 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/etw/etw_pb2.py b/lglpy/timeline/protos/perfetto/trace/etw/etw_pb2.py new file mode 100644 index 0000000..4fc6a56 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/etw/etw_pb2.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/etw/etw.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/etw/etw.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#protos/perfetto/trace/etw/etw.proto\x12\x0fperfetto.protos\"\xf8\n\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\x12T\n\x16old_thread_wait_reason\x18\x06 \x01(\x0e\x32\x34.perfetto.protos.CSwitchEtwEvent.OldThreadWaitReason\x12P\n\x14old_thread_wait_mode\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.CSwitchEtwEvent.OldThreadWaitMode\x12I\n\x10old_thread_state\x18\x08 \x01(\x0e\x32/.perfetto.protos.CSwitchEtwEvent.OldThreadState\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\"\xa2\x03\n\x13ReadyThreadEtwEvent\x12\x13\n\x0bt_thread_id\x18\x01 \x01(\r\x12H\n\radjust_reason\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.ReadyThreadEtwEvent.AdjustReason\x12\x18\n\x10\x61\x64just_increment\x18\x03 \x01(\x11\x12<\n\x04\x66lag\x18\x04 \x01(\x0e\x32..perfetto.protos.ReadyThreadEtwEvent.TraceFlag\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.etw.etw_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CSWITCHETWEVENT']._serialized_start=57 + _globals['_CSWITCHETWEVENT']._serialized_end=1457 + _globals['_CSWITCHETWEVENT_OLDTHREADWAITREASON']._serialized_start=521 + _globals['_CSWITCHETWEVENT_OLDTHREADWAITREASON']._serialized_end=1266 + _globals['_CSWITCHETWEVENT_OLDTHREADWAITMODE']._serialized_start=1268 + _globals['_CSWITCHETWEVENT_OLDTHREADWAITMODE']._serialized_end=1319 + _globals['_CSWITCHETWEVENT_OLDTHREADSTATE']._serialized_start=1322 + _globals['_CSWITCHETWEVENT_OLDTHREADSTATE']._serialized_end=1457 + _globals['_READYTHREADETWEVENT']._serialized_start=1460 + _globals['_READYTHREADETWEVENT']._serialized_end=1878 + _globals['_READYTHREADETWEVENT_ADJUSTREASON']._serialized_start=1666 + _globals['_READYTHREADETWEVENT_ADJUSTREASON']._serialized_end=1754 + _globals['_READYTHREADETWEVENT_TRACEFLAG']._serialized_start=1756 + _globals['_READYTHREADETWEVENT_TRACEFLAG']._serialized_end=1878 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/extension_descriptor_pb2.py b/lglpy/timeline/protos/perfetto/trace/extension_descriptor_pb2.py new file mode 100644 index 0000000..cd8f950 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/extension_descriptor_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/extension_descriptor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/extension_descriptor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import descriptor_pb2 as protos_dot_perfetto_dot_common_dot_descriptor__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/trace/extension_descriptor.proto\x12\x0fperfetto.protos\x1a\'protos/perfetto/common/descriptor.proto\"P\n\x13\x45xtensionDescriptor\x12\x39\n\rextension_set\x18\x01 \x01(\x0b\x32\".perfetto.protos.FileDescriptorSet') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.extension_descriptor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_EXTENSIONDESCRIPTOR']._serialized_start=110 + _globals['_EXTENSIONDESCRIPTOR']._serialized_end=190 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/filesystem/__init__.py b/lglpy/timeline/protos/perfetto/trace/filesystem/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/filesystem/inode_file_map_pb2.py b/lglpy/timeline/protos/perfetto/trace/filesystem/inode_file_map_pb2.py new file mode 100644 index 0000000..b61bd16 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/filesystem/inode_file_map_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/filesystem/inode_file_map.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/filesystem/inode_file_map.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5protos/perfetto/trace/filesystem/inode_file_map.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.filesystem.inode_file_map_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_INODEFILEMAP']._serialized_start=75 + _globals['_INODEFILEMAP']._serialized_end=339 + _globals['_INODEFILEMAP_ENTRY']._serialized_start=193 + _globals['_INODEFILEMAP_ENTRY']._serialized_end=339 + _globals['_INODEFILEMAP_ENTRY_TYPE']._serialized_start=295 + _globals['_INODEFILEMAP_ENTRY_TYPE']._serialized_end=339 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/__init__.py b/lglpy/timeline/protos/perfetto/trace/ftrace/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/android_fs_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/android_fs_pb2.py new file mode 100644 index 0000000..411274f --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/android_fs_pb2.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/android_fs.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/android_fs.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-protos/perfetto/trace/ftrace/android_fs.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.android_fs_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDFSDATAREADENDFTRACEEVENT']._serialized_start=66 + _globals['_ANDROIDFSDATAREADENDFTRACEEVENT']._serialized_end=143 + _globals['_ANDROIDFSDATAREADSTARTFTRACEEVENT']._serialized_start=146 + _globals['_ANDROIDFSDATAREADSTARTFTRACEEVENT']._serialized_end=288 + _globals['_ANDROIDFSDATAWRITEENDFTRACEEVENT']._serialized_start=290 + _globals['_ANDROIDFSDATAWRITEENDFTRACEEVENT']._serialized_end=368 + _globals['_ANDROIDFSDATAWRITESTARTFTRACEEVENT']._serialized_start=371 + _globals['_ANDROIDFSDATAWRITESTARTFTRACEEVENT']._serialized_end=514 + _globals['_ANDROIDFSFSYNCENDFTRACEEVENT']._serialized_start=516 + _globals['_ANDROIDFSFSYNCENDFTRACEEVENT']._serialized_end=590 + _globals['_ANDROIDFSFSYNCSTARTFTRACEEVENT']._serialized_start=592 + _globals['_ANDROIDFSFSYNCSTARTFTRACEEVENT']._serialized_end=700 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/bcl_exynos_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/bcl_exynos_pb2.py new file mode 100644 index 0000000..3989507 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/bcl_exynos_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/bcl_exynos.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/bcl_exynos.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-protos/perfetto/trace/ftrace/bcl_exynos.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.bcl_exynos_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_BCLIRQTRIGGERFTRACEEVENT']._serialized_start=67 + _globals['_BCLIRQTRIGGERFTRACEEVENT']._serialized_end=256 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/binder_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/binder_pb2.py new file mode 100644 index 0000000..3c54b49 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/binder_pb2.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/binder.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/binder.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)protos/perfetto/trace/ftrace/binder.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.binder_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_BINDERTRANSACTIONFTRACEEVENT']._serialized_start=63 + _globals['_BINDERTRANSACTIONFTRACEEVENT']._serialized_end=212 + _globals['_BINDERTRANSACTIONRECEIVEDFTRACEEVENT']._serialized_start=214 + _globals['_BINDERTRANSACTIONRECEIVEDFTRACEEVENT']._serialized_end=270 + _globals['_BINDERSETPRIORITYFTRACEEVENT']._serialized_start=272 + _globals['_BINDERSETPRIORITYFTRACEEVENT']._serialized_end=390 + _globals['_BINDERLOCKFTRACEEVENT']._serialized_start=392 + _globals['_BINDERLOCKFTRACEEVENT']._serialized_end=428 + _globals['_BINDERLOCKEDFTRACEEVENT']._serialized_start=430 + _globals['_BINDERLOCKEDFTRACEEVENT']._serialized_end=468 + _globals['_BINDERUNLOCKFTRACEEVENT']._serialized_start=470 + _globals['_BINDERUNLOCKFTRACEEVENT']._serialized_end=508 + _globals['_BINDERTRANSACTIONALLOCBUFFTRACEEVENT']._serialized_start=510 + _globals['_BINDERTRANSACTIONALLOCBUFFTRACEEVENT']._serialized_end=635 + _globals['_BINDERCOMMANDFTRACEEVENT']._serialized_start=637 + _globals['_BINDERCOMMANDFTRACEEVENT']._serialized_end=676 + _globals['_BINDERRETURNFTRACEEVENT']._serialized_start=678 + _globals['_BINDERRETURNFTRACEEVENT']._serialized_end=716 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/block_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/block_pb2.py new file mode 100644 index 0000000..9960cb7 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/block_pb2.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/block.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/block.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(protos/perfetto/trace/ftrace/block.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.block_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_BLOCKRQISSUEFTRACEEVENT']._serialized_start=62 + _globals['_BLOCKRQISSUEFTRACEEVENT']._serialized_end=191 + _globals['_BLOCKBIOBACKMERGEFTRACEEVENT']._serialized_start=193 + _globals['_BLOCKBIOBACKMERGEFTRACEEVENT']._serialized_end=299 + _globals['_BLOCKBIOBOUNCEFTRACEEVENT']._serialized_start=301 + _globals['_BLOCKBIOBOUNCEFTRACEEVENT']._serialized_end=404 + _globals['_BLOCKBIOCOMPLETEFTRACEEVENT']._serialized_start=406 + _globals['_BLOCKBIOCOMPLETEFTRACEEVENT']._serialized_end=512 + _globals['_BLOCKBIOFRONTMERGEFTRACEEVENT']._serialized_start=514 + _globals['_BLOCKBIOFRONTMERGEFTRACEEVENT']._serialized_end=621 + _globals['_BLOCKBIOQUEUEFTRACEEVENT']._serialized_start=623 + _globals['_BLOCKBIOQUEUEFTRACEEVENT']._serialized_end=725 + _globals['_BLOCKBIOREMAPFTRACEEVENT']._serialized_start=727 + _globals['_BLOCKBIOREMAPFTRACEEVENT']._serialized_end=852 + _globals['_BLOCKDIRTYBUFFERFTRACEEVENT']._serialized_start=854 + _globals['_BLOCKDIRTYBUFFERFTRACEEVENT']._serialized_end=926 + _globals['_BLOCKGETRQFTRACEEVENT']._serialized_start=928 + _globals['_BLOCKGETRQFTRACEEVENT']._serialized_end=1027 + _globals['_BLOCKPLUGFTRACEEVENT']._serialized_start=1029 + _globals['_BLOCKPLUGFTRACEEVENT']._serialized_end=1065 + _globals['_BLOCKRQABORTFTRACEEVENT']._serialized_start=1067 + _globals['_BLOCKRQABORTFTRACEEVENT']._serialized_end=1183 + _globals['_BLOCKRQCOMPLETEFTRACEEVENT']._serialized_start=1186 + _globals['_BLOCKRQCOMPLETEFTRACEEVENT']._serialized_end=1320 + _globals['_BLOCKRQINSERTFTRACEEVENT']._serialized_start=1323 + _globals['_BLOCKRQINSERTFTRACEEVENT']._serialized_end=1453 + _globals['_BLOCKRQREMAPFTRACEEVENT']._serialized_start=1456 + _globals['_BLOCKRQREMAPFTRACEEVENT']._serialized_end=1597 + _globals['_BLOCKRQREQUEUEFTRACEEVENT']._serialized_start=1599 + _globals['_BLOCKRQREQUEUEFTRACEEVENT']._serialized_end=1717 + _globals['_BLOCKSLEEPRQFTRACEEVENT']._serialized_start=1719 + _globals['_BLOCKSLEEPRQFTRACEEVENT']._serialized_end=1820 + _globals['_BLOCKSPLITFTRACEEVENT']._serialized_start=1822 + _globals['_BLOCKSPLITFTRACEEVENT']._serialized_end=1922 + _globals['_BLOCKTOUCHBUFFERFTRACEEVENT']._serialized_start=1924 + _globals['_BLOCKTOUCHBUFFERFTRACEEVENT']._serialized_end=1996 + _globals['_BLOCKUNPLUGFTRACEEVENT']._serialized_start=1998 + _globals['_BLOCKUNPLUGFTRACEEVENT']._serialized_end=2051 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/cgroup_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/cgroup_pb2.py new file mode 100644 index 0000000..1d8f167 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/cgroup_pb2.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/cgroup.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/cgroup.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)protos/perfetto/trace/ftrace/cgroup.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.cgroup_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CGROUPATTACHTASKFTRACEEVENT']._serialized_start=63 + _globals['_CGROUPATTACHTASKFTRACEEVENT']._serialized_end=205 + _globals['_CGROUPMKDIRFTRACEEVENT']._serialized_start=207 + _globals['_CGROUPMKDIRFTRACEEVENT']._serialized_end=301 + _globals['_CGROUPREMOUNTFTRACEEVENT']._serialized_start=303 + _globals['_CGROUPREMOUNTFTRACEEVENT']._serialized_end=374 + _globals['_CGROUPRMDIRFTRACEEVENT']._serialized_start=376 + _globals['_CGROUPRMDIRFTRACEEVENT']._serialized_end=470 + _globals['_CGROUPTRANSFERTASKSFTRACEEVENT']._serialized_start=473 + _globals['_CGROUPTRANSFERTASKSFTRACEEVENT']._serialized_end=618 + _globals['_CGROUPDESTROYROOTFTRACEEVENT']._serialized_start=620 + _globals['_CGROUPDESTROYROOTFTRACEEVENT']._serialized_end=695 + _globals['_CGROUPRELEASEFTRACEEVENT']._serialized_start=697 + _globals['_CGROUPRELEASEFTRACEEVENT']._serialized_end=793 + _globals['_CGROUPRENAMEFTRACEEVENT']._serialized_start=795 + _globals['_CGROUPRENAMEFTRACEEVENT']._serialized_end=890 + _globals['_CGROUPSETUPROOTFTRACEEVENT']._serialized_start=892 + _globals['_CGROUPSETUPROOTFTRACEEVENT']._serialized_end=965 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/clk_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/clk_pb2.py new file mode 100644 index 0000000..21b4335 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/clk_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/clk.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/clk.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/clk.proto\x12\x0fperfetto.protos\"$\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.clk_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CLKENABLEFTRACEEVENT']._serialized_start=59 + _globals['_CLKENABLEFTRACEEVENT']._serialized_end=95 + _globals['_CLKDISABLEFTRACEEVENT']._serialized_start=97 + _globals['_CLKDISABLEFTRACEEVENT']._serialized_end=134 + _globals['_CLKSETRATEFTRACEEVENT']._serialized_start=136 + _globals['_CLKSETRATEFTRACEEVENT']._serialized_end=187 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/cma_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/cma_pb2.py new file mode 100644 index 0000000..99766cd --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/cma_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/cma.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/cma.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/cma.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.cma_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CMAALLOCSTARTFTRACEEVENT']._serialized_start=59 + _globals['_CMAALLOCSTARTFTRACEEVENT']._serialized_end=129 + _globals['_CMAALLOCINFOFTRACEEVENT']._serialized_start=132 + _globals['_CMAALLOCINFOFTRACEEVENT']._serialized_end=328 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/compaction_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/compaction_pb2.py new file mode 100644 index 0000000..061518e --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/compaction_pb2.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/compaction.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/compaction.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-protos/perfetto/trace/ftrace/compaction.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.compaction_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_MMCOMPACTIONBEGINFTRACEEVENT']._serialized_start=66 + _globals['_MMCOMPACTIONBEGINFTRACEEVENT']._serialized_end=187 + _globals['_MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT']._serialized_start=190 + _globals['_MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT']._serialized_end=334 + _globals['_MMCOMPACTIONDEFERREDFTRACEEVENT']._serialized_start=337 + _globals['_MMCOMPACTIONDEFERREDFTRACEEVENT']._serialized_end=474 + _globals['_MMCOMPACTIONDEFERRESETFTRACEEVENT']._serialized_start=477 + _globals['_MMCOMPACTIONDEFERRESETFTRACEEVENT']._serialized_end=616 + _globals['_MMCOMPACTIONENDFTRACEEVENT']._serialized_start=619 + _globals['_MMCOMPACTIONENDFTRACEEVENT']._serialized_end=754 + _globals['_MMCOMPACTIONFINISHEDFTRACEEVENT']._serialized_start=756 + _globals['_MMCOMPACTIONFINISHEDFTRACEEVENT']._serialized_end=843 + _globals['_MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT']._serialized_start=845 + _globals['_MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT']._serialized_end=960 + _globals['_MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT']._serialized_start=962 + _globals['_MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT']._serialized_end=1080 + _globals['_MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT']._serialized_start=1082 + _globals['_MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT']._serialized_end=1134 + _globals['_MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT']._serialized_start=1136 + _globals['_MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT']._serialized_end=1250 + _globals['_MMCOMPACTIONMIGRATEPAGESFTRACEEVENT']._serialized_start=1252 + _globals['_MMCOMPACTIONMIGRATEPAGESFTRACEEVENT']._serialized_end=1329 + _globals['_MMCOMPACTIONSUITABLEFTRACEEVENT']._serialized_start=1331 + _globals['_MMCOMPACTIONSUITABLEFTRACEEVENT']._serialized_end=1418 + _globals['_MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT']._serialized_start=1420 + _globals['_MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT']._serialized_end=1523 + _globals['_MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT']._serialized_start=1525 + _globals['_MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT']._serialized_end=1641 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/cpuhp_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/cpuhp_pb2.py new file mode 100644 index 0000000..e605f64 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/cpuhp_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/cpuhp.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/cpuhp.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(protos/perfetto/trace/ftrace/cpuhp.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.cpuhp_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CPUHPEXITFTRACEEVENT']._serialized_start=61 + _globals['_CPUHPEXITFTRACEEVENT']._serialized_end=137 + _globals['_CPUHPMULTIENTERFTRACEEVENT']._serialized_start=139 + _globals['_CPUHPMULTIENTERFTRACEEVENT']._serialized_end=222 + _globals['_CPUHPENTERFTRACEEVENT']._serialized_start=224 + _globals['_CPUHPENTERFTRACEEVENT']._serialized_end=302 + _globals['_CPUHPLATENCYFTRACEEVENT']._serialized_start=304 + _globals['_CPUHPLATENCYFTRACEEVENT']._serialized_end=384 + _globals['_CPUHPPAUSEFTRACEEVENT']._serialized_start=386 + _globals['_CPUHPPAUSEFTRACEEVENT']._serialized_end=473 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/cros_ec_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/cros_ec_pb2.py new file mode 100644 index 0000000..8fd95ee --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/cros_ec_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/cros_ec.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/cros_ec.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/ftrace/cros_ec.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.cros_ec_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CROSECSENSORHUBDATAFTRACEEVENT']._serialized_start=64 + _globals['_CROSECSENSORHUBDATAFTRACEEVENT']._serialized_end=234 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/dcvsh_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/dcvsh_pb2.py new file mode 100644 index 0000000..c9fc502 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/dcvsh_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/dcvsh.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/dcvsh.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(protos/perfetto/trace/ftrace/dcvsh.proto\x12\x0fperfetto.protos\"1\n\x14\x44\x63vshFreqFtraceEvent\x12\x0b\n\x03\x63pu\x18\x01 \x01(\x04\x12\x0c\n\x04\x66req\x18\x02 \x01(\x04') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.dcvsh_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DCVSHFREQFTRACEEVENT']._serialized_start=61 + _globals['_DCVSHFREQFTRACEEVENT']._serialized_end=110 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/dma_fence_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/dma_fence_pb2.py new file mode 100644 index 0000000..df6d772 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/dma_fence_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/dma_fence.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/dma_fence.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,protos/perfetto/trace/ftrace/dma_fence.proto\x12\x0fperfetto.protos\"[\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.dma_fence_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DMAFENCEINITFTRACEEVENT']._serialized_start=65 + _globals['_DMAFENCEINITFTRACEEVENT']._serialized_end=156 + _globals['_DMAFENCEEMITFTRACEEVENT']._serialized_start=158 + _globals['_DMAFENCEEMITFTRACEEVENT']._serialized_end=249 + _globals['_DMAFENCESIGNALEDFTRACEEVENT']._serialized_start=251 + _globals['_DMAFENCESIGNALEDFTRACEEVENT']._serialized_end=346 + _globals['_DMAFENCEWAITSTARTFTRACEEVENT']._serialized_start=348 + _globals['_DMAFENCEWAITSTARTFTRACEEVENT']._serialized_end=444 + _globals['_DMAFENCEWAITENDFTRACEEVENT']._serialized_start=446 + _globals['_DMAFENCEWAITENDFTRACEEVENT']._serialized_end=540 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/dmabuf_heap_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/dmabuf_heap_pb2.py new file mode 100644 index 0000000..ac69ea9 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/dmabuf_heap_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/dmabuf_heap.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/dmabuf_heap.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.protos/perfetto/trace/ftrace/dmabuf_heap.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.dmabuf_heap_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DMAHEAPSTATFTRACEEVENT']._serialized_start=67 + _globals['_DMAHEAPSTATFTRACEEVENT']._serialized_end=144 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/dpu_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/dpu_pb2.py new file mode 100644 index 0000000..2c012f0 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/dpu_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/dpu.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/dpu.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/dpu.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.dpu_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DPUTRACINGMARKWRITEFTRACEEVENT']._serialized_start=60 + _globals['_DPUTRACINGMARKWRITEFTRACEEVENT']._serialized_end=189 + _globals['_DPUDSICMDFIFOSTATUSFTRACEEVENT']._serialized_start=191 + _globals['_DPUDSICMDFIFOSTATUSFTRACEEVENT']._serialized_end=256 + _globals['_DPUDSIRXFTRACEEVENT']._serialized_start=258 + _globals['_DPUDSIRXFTRACEEVENT']._serialized_end=308 + _globals['_DPUDSITXFTRACEEVENT']._serialized_start=310 + _globals['_DPUDSITXFTRACEEVENT']._serialized_end=393 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/drm_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/drm_pb2.py new file mode 100644 index 0000000..d79a544 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/drm_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/drm.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/drm.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/drm.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.drm_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DRMVBLANKEVENTFTRACEEVENT']._serialized_start=59 + _globals['_DRMVBLANKEVENTFTRACEEVENT']._serialized_end=146 + _globals['_DRMVBLANKEVENTDELIVEREDFTRACEEVENT']._serialized_start=148 + _globals['_DRMVBLANKEVENTDELIVEREDFTRACEEVENT']._serialized_end=225 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/ext4_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/ext4_pb2.py new file mode 100644 index 0000000..35a8ed2 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/ext4_pb2.py @@ -0,0 +1,224 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/ext4.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/ext4.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/trace/ftrace/ext4.proto\x12\x0fperfetto.protos\"`\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.ext4_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_EXT4DAWRITEBEGINFTRACEEVENT']._serialized_start=60 + _globals['_EXT4DAWRITEBEGINFTRACEEVENT']._serialized_end=156 + _globals['_EXT4DAWRITEENDFTRACEEVENT']._serialized_start=158 + _globals['_EXT4DAWRITEENDFTRACEEVENT']._serialized_end=253 + _globals['_EXT4SYNCFILEENTERFTRACEEVENT']._serialized_start=255 + _globals['_EXT4SYNCFILEENTERFTRACEEVENT']._serialized_end=345 + _globals['_EXT4SYNCFILEEXITFTRACEEVENT']._serialized_start=347 + _globals['_EXT4SYNCFILEEXITFTRACEEVENT']._serialized_end=415 + _globals['_EXT4ALLOCDABLOCKSFTRACEEVENT']._serialized_start=417 + _globals['_EXT4ALLOCDABLOCKSFTRACEEVENT']._serialized_end=515 + _globals['_EXT4ALLOCATEBLOCKSFTRACEEVENT']._serialized_start=518 + _globals['_EXT4ALLOCATEBLOCKSFTRACEEVENT']._serialized_end=711 + _globals['_EXT4ALLOCATEINODEFTRACEEVENT']._serialized_start=713 + _globals['_EXT4ALLOCATEINODEFTRACEEVENT']._serialized_end=796 + _globals['_EXT4BEGINORDEREDTRUNCATEFTRACEEVENT']._serialized_start=798 + _globals['_EXT4BEGINORDEREDTRUNCATEFTRACEEVENT']._serialized_end=879 + _globals['_EXT4COLLAPSERANGEFTRACEEVENT']._serialized_start=881 + _globals['_EXT4COLLAPSERANGEFTRACEEVENT']._serialized_end=966 + _globals['_EXT4DARELEASESPACEFTRACEEVENT']._serialized_start=969 + _globals['_EXT4DARELEASESPACEFTRACEEVENT']._serialized_end=1171 + _globals['_EXT4DARESERVESPACEFTRACEEVENT']._serialized_start=1174 + _globals['_EXT4DARESERVESPACEFTRACEEVENT']._serialized_end=1342 + _globals['_EXT4DAUPDATERESERVESPACEFTRACEEVENT']._serialized_start=1345 + _globals['_EXT4DAUPDATERESERVESPACEFTRACEEVENT']._serialized_end=1573 + _globals['_EXT4DAWRITEPAGESFTRACEEVENT']._serialized_start=1576 + _globals['_EXT4DAWRITEPAGESFTRACEEVENT']._serialized_end=1783 + _globals['_EXT4DAWRITEPAGESEXTENTFTRACEEVENT']._serialized_start=1785 + _globals['_EXT4DAWRITEPAGESEXTENTFTRACEEVENT']._serialized_end=1888 + _globals['_EXT4DIRECTIOENTERFTRACEEVENT']._serialized_start=1890 + _globals['_EXT4DIRECTIOENTERFTRACEEVENT']._serialized_end=1984 + _globals['_EXT4DIRECTIOEXITFTRACEEVENT']._serialized_start=1986 + _globals['_EXT4DIRECTIOEXITFTRACEEVENT']._serialized_end=2092 + _globals['_EXT4DISCARDBLOCKSFTRACEEVENT']._serialized_start=2094 + _globals['_EXT4DISCARDBLOCKSFTRACEEVENT']._serialized_end=2165 + _globals['_EXT4DISCARDPREALLOCATIONSFTRACEEVENT']._serialized_start=2167 + _globals['_EXT4DISCARDPREALLOCATIONSFTRACEEVENT']._serialized_end=2260 + _globals['_EXT4DROPINODEFTRACEEVENT']._serialized_start=2262 + _globals['_EXT4DROPINODEFTRACEEVENT']._serialized_end=2328 + _globals['_EXT4ESCACHEEXTENTFTRACEEVENT']._serialized_start=2330 + _globals['_EXT4ESCACHEEXTENTFTRACEEVENT']._serialized_end=2443 + _globals['_EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT']._serialized_start=2445 + _globals['_EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT']._serialized_end=2531 + _globals['_EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT']._serialized_start=2534 + _globals['_EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT']._serialized_end=2662 + _globals['_EXT4ESINSERTEXTENTFTRACEEVENT']._serialized_start=2664 + _globals['_EXT4ESINSERTEXTENTFTRACEEVENT']._serialized_end=2778 + _globals['_EXT4ESLOOKUPEXTENTENTERFTRACEEVENT']._serialized_start=2780 + _globals['_EXT4ESLOOKUPEXTENTENTERFTRACEEVENT']._serialized_end=2856 + _globals['_EXT4ESLOOKUPEXTENTEXITFTRACEEVENT']._serialized_start=2859 + _globals['_EXT4ESLOOKUPEXTENTEXITFTRACEEVENT']._serialized_end=2992 + _globals['_EXT4ESREMOVEEXTENTFTRACEEVENT']._serialized_start=2994 + _globals['_EXT4ESREMOVEEXTENTFTRACEEVENT']._serialized_end=3078 + _globals['_EXT4ESSHRINKFTRACEEVENT']._serialized_start=3080 + _globals['_EXT4ESSHRINKFTRACEEVENT']._serialized_end=3193 + _globals['_EXT4ESSHRINKCOUNTFTRACEEVENT']._serialized_start=3195 + _globals['_EXT4ESSHRINKCOUNTFTRACEEVENT']._serialized_end=3277 + _globals['_EXT4ESSHRINKSCANENTERFTRACEEVENT']._serialized_start=3279 + _globals['_EXT4ESSHRINKSCANENTERFTRACEEVENT']._serialized_end=3365 + _globals['_EXT4ESSHRINKSCANEXITFTRACEEVENT']._serialized_start=3367 + _globals['_EXT4ESSHRINKSCANEXITFTRACEEVENT']._serialized_end=3451 + _globals['_EXT4EVICTINODEFTRACEEVENT']._serialized_start=3453 + _globals['_EXT4EVICTINODEFTRACEEVENT']._serialized_end=3521 + _globals['_EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT']._serialized_start=3524 + _globals['_EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT']._serialized_end=3673 + _globals['_EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT']._serialized_start=3676 + _globals['_EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT']._serialized_end=3875 + _globals['_EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT']._serialized_start=3878 + _globals['_EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT']._serialized_end=4037 + _globals['_EXT4EXTINCACHEFTRACEEVENT']._serialized_start=4039 + _globals['_EXT4EXTINCACHEFTRACEEVENT']._serialized_end=4119 + _globals['_EXT4EXTLOADEXTENTFTRACEEVENT']._serialized_start=4121 + _globals['_EXT4EXTLOADEXTENTFTRACEEVENT']._serialized_end=4205 + _globals['_EXT4EXTMAPBLOCKSENTERFTRACEEVENT']._serialized_start=4207 + _globals['_EXT4EXTMAPBLOCKSENTERFTRACEEVENT']._serialized_end=4309 + _globals['_EXT4EXTMAPBLOCKSEXITFTRACEEVENT']._serialized_start=4312 + _globals['_EXT4EXTMAPBLOCKSEXITFTRACEEVENT']._serialized_end=4456 + _globals['_EXT4EXTPUTINCACHEFTRACEEVENT']._serialized_start=4458 + _globals['_EXT4EXTPUTINCACHEFTRACEEVENT']._serialized_end=4556 + _globals['_EXT4EXTREMOVESPACEFTRACEEVENT']._serialized_start=4558 + _globals['_EXT4EXTREMOVESPACEFTRACEEVENT']._serialized_end=4658 + _globals['_EXT4EXTREMOVESPACEDONEFTRACEEVENT']._serialized_start=4661 + _globals['_EXT4EXTREMOVESPACEDONEFTRACEEVENT']._serialized_end=4854 + _globals['_EXT4EXTRMIDXFTRACEEVENT']._serialized_start=4856 + _globals['_EXT4EXTRMIDXFTRACEEVENT']._serialized_end=4921 + _globals['_EXT4EXTRMLEAFFTRACEEVENT']._serialized_start=4924 + _globals['_EXT4EXTRMLEAFFTRACEEVENT']._serialized_end=5110 + _globals['_EXT4EXTSHOWEXTENTFTRACEEVENT']._serialized_start=5112 + _globals['_EXT4EXTSHOWEXTENTFTRACEEVENT']._serialized_end=5209 + _globals['_EXT4FALLOCATEENTERFTRACEEVENT']._serialized_start=5211 + _globals['_EXT4FALLOCATEENTERFTRACEEVENT']._serialized_end=5324 + _globals['_EXT4FALLOCATEEXITFTRACEEVENT']._serialized_start=5326 + _globals['_EXT4FALLOCATEEXITFTRACEEVENT']._serialized_end=5424 + _globals['_EXT4FINDDELALLOCRANGEFTRACEEVENT']._serialized_start=5427 + _globals['_EXT4FINDDELALLOCRANGEFTRACEEVENT']._serialized_end=5564 + _globals['_EXT4FORGETFTRACEEVENT']._serialized_start=5566 + _globals['_EXT4FORGETFTRACEEVENT']._serialized_end=5665 + _globals['_EXT4FREEBLOCKSFTRACEEVENT']._serialized_start=5667 + _globals['_EXT4FREEBLOCKSFTRACEEVENT']._serialized_end=5779 + _globals['_EXT4FREEINODEFTRACEEVENT']._serialized_start=5781 + _globals['_EXT4FREEINODEFTRACEEVENT']._serialized_end=5889 + _globals['_EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT']._serialized_start=5891 + _globals['_EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT']._serialized_end=6016 + _globals['_EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT']._serialized_start=6018 + _globals['_EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT']._serialized_end=6111 + _globals['_EXT4INDMAPBLOCKSENTERFTRACEEVENT']._serialized_start=6113 + _globals['_EXT4INDMAPBLOCKSENTERFTRACEEVENT']._serialized_end=6215 + _globals['_EXT4INDMAPBLOCKSEXITFTRACEEVENT']._serialized_start=6218 + _globals['_EXT4INDMAPBLOCKSEXITFTRACEEVENT']._serialized_end=6362 + _globals['_EXT4INSERTRANGEFTRACEEVENT']._serialized_start=6364 + _globals['_EXT4INSERTRANGEFTRACEEVENT']._serialized_end=6447 + _globals['_EXT4INVALIDATEPAGEFTRACEEVENT']._serialized_start=6449 + _globals['_EXT4INVALIDATEPAGEFTRACEEVENT']._serialized_end=6553 + _globals['_EXT4JOURNALSTARTFTRACEEVENT']._serialized_start=6556 + _globals['_EXT4JOURNALSTARTFTRACEEVENT']._serialized_end=6685 + _globals['_EXT4JOURNALSTARTRESERVEDFTRACEEVENT']._serialized_start=6687 + _globals['_EXT4JOURNALSTARTRESERVEDFTRACEEVENT']._serialized_end=6765 + _globals['_EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT']._serialized_start=6767 + _globals['_EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT']._serialized_end=6881 + _globals['_EXT4JOURNALLEDWRITEENDFTRACEEVENT']._serialized_start=6883 + _globals['_EXT4JOURNALLEDWRITEENDFTRACEEVENT']._serialized_end=6986 + _globals['_EXT4LOADINODEFTRACEEVENT']._serialized_start=6988 + _globals['_EXT4LOADINODEFTRACEEVENT']._serialized_end=7040 + _globals['_EXT4LOADINODEBITMAPFTRACEEVENT']._serialized_start=7042 + _globals['_EXT4LOADINODEBITMAPFTRACEEVENT']._serialized_end=7102 + _globals['_EXT4MARKINODEDIRTYFTRACEEVENT']._serialized_start=7104 + _globals['_EXT4MARKINODEDIRTYFTRACEEVENT']._serialized_end=7173 + _globals['_EXT4MBBITMAPLOADFTRACEEVENT']._serialized_start=7175 + _globals['_EXT4MBBITMAPLOADFTRACEEVENT']._serialized_end=7232 + _globals['_EXT4MBBUDDYBITMAPLOADFTRACEEVENT']._serialized_start=7234 + _globals['_EXT4MBBUDDYBITMAPLOADFTRACEEVENT']._serialized_end=7296 + _globals['_EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT']._serialized_start=7298 + _globals['_EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT']._serialized_end=7367 + _globals['_EXT4MBNEWGROUPPAFTRACEEVENT']._serialized_start=7369 + _globals['_EXT4MBNEWGROUPPAFTRACEEVENT']._serialized_end=7478 + _globals['_EXT4MBNEWINODEPAFTRACEEVENT']._serialized_start=7480 + _globals['_EXT4MBNEWINODEPAFTRACEEVENT']._serialized_end=7589 + _globals['_EXT4MBRELEASEGROUPPAFTRACEEVENT']._serialized_start=7591 + _globals['_EXT4MBRELEASEGROUPPAFTRACEEVENT']._serialized_end=7672 + _globals['_EXT4MBRELEASEINODEPAFTRACEEVENT']._serialized_start=7674 + _globals['_EXT4MBRELEASEINODEPAFTRACEEVENT']._serialized_end=7763 + _globals['_EXT4MBALLOCALLOCFTRACEEVENT']._serialized_start=7766 + _globals['_EXT4MBALLOCALLOCFTRACEEVENT']._serialized_end=8156 + _globals['_EXT4MBALLOCDISCARDFTRACEEVENT']._serialized_start=8158 + _globals['_EXT4MBALLOCDISCARDFTRACEEVENT']._serialized_end=8279 + _globals['_EXT4MBALLOCFREEFTRACEEVENT']._serialized_start=8281 + _globals['_EXT4MBALLOCFREEFTRACEEVENT']._serialized_end=8399 + _globals['_EXT4MBALLOCPREALLOCFTRACEEVENT']._serialized_start=8402 + _globals['_EXT4MBALLOCPREALLOCFTRACEEVENT']._serialized_end=8628 + _globals['_EXT4OTHERINODEUPDATETIMEFTRACEEVENT']._serialized_start=8630 + _globals['_EXT4OTHERINODEUPDATETIMEFTRACEEVENT']._serialized_end=8751 + _globals['_EXT4PUNCHHOLEFTRACEEVENT']._serialized_start=8753 + _globals['_EXT4PUNCHHOLEFTRACEEVENT']._serialized_end=8848 + _globals['_EXT4READBLOCKBITMAPLOADFTRACEEVENT']._serialized_start=8850 + _globals['_EXT4READBLOCKBITMAPLOADFTRACEEVENT']._serialized_end=8932 + _globals['_EXT4READPAGEFTRACEEVENT']._serialized_start=8934 + _globals['_EXT4READPAGEFTRACEEVENT']._serialized_end=9000 + _globals['_EXT4RELEASEPAGEFTRACEEVENT']._serialized_start=9002 + _globals['_EXT4RELEASEPAGEFTRACEEVENT']._serialized_end=9071 + _globals['_EXT4REMOVEBLOCKSFTRACEEVENT']._serialized_start=9074 + _globals['_EXT4REMOVEBLOCKSFTRACEEVENT']._serialized_end=9274 + _globals['_EXT4REQUESTBLOCKSFTRACEEVENT']._serialized_start=9277 + _globals['_EXT4REQUESTBLOCKSFTRACEEVENT']._serialized_end=9454 + _globals['_EXT4REQUESTINODEFTRACEEVENT']._serialized_start=9456 + _globals['_EXT4REQUESTINODEFTRACEEVENT']._serialized_end=9525 + _globals['_EXT4SYNCFSFTRACEEVENT']._serialized_start=9527 + _globals['_EXT4SYNCFSFTRACEEVENT']._serialized_end=9577 + _globals['_EXT4TRIMALLFREEFTRACEEVENT']._serialized_start=9579 + _globals['_EXT4TRIMALLFREEFTRACEEVENT']._serialized_end=9688 + _globals['_EXT4TRIMEXTENTFTRACEEVENT']._serialized_start=9690 + _globals['_EXT4TRIMEXTENTFTRACEEVENT']._serialized_end=9798 + _globals['_EXT4TRUNCATEENTERFTRACEEVENT']._serialized_start=9800 + _globals['_EXT4TRUNCATEENTERFTRACEEVENT']._serialized_end=9872 + _globals['_EXT4TRUNCATEEXITFTRACEEVENT']._serialized_start=9874 + _globals['_EXT4TRUNCATEEXITFTRACEEVENT']._serialized_end=9945 + _globals['_EXT4UNLINKENTERFTRACEEVENT']._serialized_start=9947 + _globals['_EXT4UNLINKENTERFTRACEEVENT']._serialized_end=10031 + _globals['_EXT4UNLINKEXITFTRACEEVENT']._serialized_start=10033 + _globals['_EXT4UNLINKEXITFTRACEEVENT']._serialized_end=10099 + _globals['_EXT4WRITEBEGINFTRACEEVENT']._serialized_start=10101 + _globals['_EXT4WRITEBEGINFTRACEEVENT']._serialized_end=10195 + _globals['_EXT4WRITEENDFTRACEEVENT']._serialized_start=10197 + _globals['_EXT4WRITEENDFTRACEEVENT']._serialized_end=10290 + _globals['_EXT4WRITEPAGEFTRACEEVENT']._serialized_start=10292 + _globals['_EXT4WRITEPAGEFTRACEEVENT']._serialized_end=10359 + _globals['_EXT4WRITEPAGESFTRACEEVENT']._serialized_start=10362 + _globals['_EXT4WRITEPAGESFTRACEEVENT']._serialized_end=10586 + _globals['_EXT4WRITEPAGESRESULTFTRACEEVENT']._serialized_start=10589 + _globals['_EXT4WRITEPAGESRESULTFTRACEEVENT']._serialized_end=10751 + _globals['_EXT4ZERORANGEFTRACEEVENT']._serialized_start=10753 + _globals['_EXT4ZERORANGEFTRACEEVENT']._serialized_end=10848 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/f2fs_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/f2fs_pb2.py new file mode 100644 index 0000000..ca90529 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/f2fs_pb2.py @@ -0,0 +1,106 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/f2fs.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/f2fs.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/trace/ftrace/f2fs.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.f2fs_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_F2FSDOSUBMITBIOFTRACEEVENT']._serialized_start=60 + _globals['_F2FSDOSUBMITBIOFTRACEEVENT']._serialized_end=160 + _globals['_F2FSEVICTINODEFTRACEEVENT']._serialized_start=163 + _globals['_F2FSEVICTINODEFTRACEEVENT']._serialized_end=305 + _globals['_F2FSFALLOCATEFTRACEEVENT']._serialized_start=308 + _globals['_F2FSFALLOCATEFTRACEEVENT']._serialized_end=446 + _globals['_F2FSGETDATABLOCKFTRACEEVENT']._serialized_start=448 + _globals['_F2FSGETDATABLOCKFTRACEEVENT']._serialized_end=567 + _globals['_F2FSGETVICTIMFTRACEEVENT']._serialized_start=570 + _globals['_F2FSGETVICTIMFTRACEEVENT']._serialized_end=776 + _globals['_F2FSIGETFTRACEEVENT']._serialized_start=779 + _globals['_F2FSIGETFTRACEEVENT']._serialized_end=915 + _globals['_F2FSIGETEXITFTRACEEVENT']._serialized_start=917 + _globals['_F2FSIGETEXITFTRACEEVENT']._serialized_end=981 + _globals['_F2FSNEWINODEFTRACEEVENT']._serialized_start=983 + _globals['_F2FSNEWINODEFTRACEEVENT']._serialized_end=1047 + _globals['_F2FSREADPAGEFTRACEEVENT']._serialized_start=1050 + _globals['_F2FSREADPAGEFTRACEEVENT']._serialized_end=1193 + _globals['_F2FSRESERVENEWBLOCKFTRACEEVENT']._serialized_start=1195 + _globals['_F2FSRESERVENEWBLOCKFTRACEEVENT']._serialized_end=1274 + _globals['_F2FSSETPAGEDIRTYFTRACEEVENT']._serialized_start=1277 + _globals['_F2FSSETPAGEDIRTYFTRACEEVENT']._serialized_end=1407 + _globals['_F2FSSUBMITWRITEPAGEFTRACEEVENT']._serialized_start=1409 + _globals['_F2FSSUBMITWRITEPAGEFTRACEEVENT']._serialized_end=1511 + _globals['_F2FSSYNCFILEENTERFTRACEEVENT']._serialized_start=1514 + _globals['_F2FSSYNCFILEENTERFTRACEEVENT']._serialized_end=1659 + _globals['_F2FSSYNCFILEEXITFTRACEEVENT']._serialized_start=1661 + _globals['_F2FSSYNCFILEEXITFTRACEEVENT']._serialized_end=1783 + _globals['_F2FSSYNCFSFTRACEEVENT']._serialized_start=1785 + _globals['_F2FSSYNCFSFTRACEEVENT']._serialized_end=1850 + _globals['_F2FSTRUNCATEFTRACEEVENT']._serialized_start=1853 + _globals['_F2FSTRUNCATEFTRACEEVENT']._serialized_end=1993 + _globals['_F2FSTRUNCATEBLOCKSENTERFTRACEEVENT']._serialized_start=1995 + _globals['_F2FSTRUNCATEBLOCKSENTERFTRACEEVENT']._serialized_end=2101 + _globals['_F2FSTRUNCATEBLOCKSEXITFTRACEEVENT']._serialized_start=2103 + _globals['_F2FSTRUNCATEBLOCKSEXITFTRACEEVENT']._serialized_end=2177 + _globals['_F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT']._serialized_start=2179 + _globals['_F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT']._serialized_end=2285 + _globals['_F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT']._serialized_start=2287 + _globals['_F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT']._serialized_end=2398 + _globals['_F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT']._serialized_start=2400 + _globals['_F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT']._serialized_end=2479 + _globals['_F2FSTRUNCATENODEFTRACEEVENT']._serialized_start=2481 + _globals['_F2FSTRUNCATENODEFTRACEEVENT']._serialized_end=2567 + _globals['_F2FSTRUNCATENODESENTERFTRACEEVENT']._serialized_start=2569 + _globals['_F2FSTRUNCATENODESENTERFTRACEEVENT']._serialized_end=2661 + _globals['_F2FSTRUNCATENODESEXITFTRACEEVENT']._serialized_start=2663 + _globals['_F2FSTRUNCATENODESEXITFTRACEEVENT']._serialized_end=2736 + _globals['_F2FSTRUNCATEPARTIALNODESFTRACEEVENT']._serialized_start=2738 + _globals['_F2FSTRUNCATEPARTIALNODESFTRACEEVENT']._serialized_end=2842 + _globals['_F2FSUNLINKENTERFTRACEEVENT']._serialized_start=2844 + _globals['_F2FSUNLINKENTERFTRACEEVENT']._serialized_end=2942 + _globals['_F2FSUNLINKEXITFTRACEEVENT']._serialized_start=2944 + _globals['_F2FSUNLINKEXITFTRACEEVENT']._serialized_end=3010 + _globals['_F2FSVMPAGEMKWRITEFTRACEEVENT']._serialized_start=3013 + _globals['_F2FSVMPAGEMKWRITEFTRACEEVENT']._serialized_end=3144 + _globals['_F2FSWRITEBEGINFTRACEEVENT']._serialized_start=3146 + _globals['_F2FSWRITEBEGINFTRACEEVENT']._serialized_end=3240 + _globals['_F2FSWRITECHECKPOINTFTRACEEVENT']._serialized_start=3242 + _globals['_F2FSWRITECHECKPOINTFTRACEEVENT']._serialized_end=3335 + _globals['_F2FSWRITEENDFTRACEEVENT']._serialized_start=3337 + _globals['_F2FSWRITEENDFTRACEEVENT']._serialized_end=3430 + _globals['_F2FSIOSTATFTRACEEVENT']._serialized_start=3433 + _globals['_F2FSIOSTATFTRACEEVENT']._serialized_end=3858 + _globals['_F2FSIOSTATLATENCYFTRACEEVENT']._serialized_start=3861 + _globals['_F2FSIOSTATLATENCYFTRACEEVENT']._serialized_end=4444 + _globals['_F2FSBACKGROUNDGCFTRACEEVENT']._serialized_start=4446 + _globals['_F2FSBACKGROUNDGCFTRACEEVENT']._serialized_end=4536 + _globals['_F2FSGCBEGINFTRACEEVENT']._serialized_start=4539 + _globals['_F2FSGCBEGINFTRACEEVENT']._serialized_end=4809 + _globals['_F2FSGCENDFTRACEEVENT']._serialized_start=4812 + _globals['_F2FSGCENDFTRACEEVENT']._serialized_end=5040 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/fastrpc_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/fastrpc_pb2.py new file mode 100644 index 0000000..5b76f4f --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/fastrpc_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/fastrpc.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/fastrpc.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/ftrace/fastrpc.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.fastrpc_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_FASTRPCDMASTATFTRACEEVENT']._serialized_start=63 + _globals['_FASTRPCDMASTATFTRACEEVENT']._serialized_end=141 + _globals['_FASTRPCDMAFREEFTRACEEVENT']._serialized_start=143 + _globals['_FASTRPCDMAFREEFTRACEEVENT']._serialized_end=211 + _globals['_FASTRPCDMAALLOCFTRACEEVENT']._serialized_start=213 + _globals['_FASTRPCDMAALLOCFTRACEEVENT']._serialized_end=312 + _globals['_FASTRPCDMAUNMAPFTRACEEVENT']._serialized_start=314 + _globals['_FASTRPCDMAUNMAPFTRACEEVENT']._serialized_end=383 + _globals['_FASTRPCDMAMAPFTRACEEVENT']._serialized_start=385 + _globals['_FASTRPCDMAMAPFTRACEEVENT']._serialized_end=507 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/fence_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/fence_pb2.py new file mode 100644 index 0000000..743aa77 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/fence_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/fence.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/fence.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(protos/perfetto/trace/ftrace/fence.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.fence_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_FENCEINITFTRACEEVENT']._serialized_start=61 + _globals['_FENCEINITFTRACEEVENT']._serialized_end=149 + _globals['_FENCEDESTROYFTRACEEVENT']._serialized_start=151 + _globals['_FENCEDESTROYFTRACEEVENT']._serialized_end=242 + _globals['_FENCEENABLESIGNALFTRACEEVENT']._serialized_start=244 + _globals['_FENCEENABLESIGNALFTRACEEVENT']._serialized_end=340 + _globals['_FENCESIGNALEDFTRACEEVENT']._serialized_start=342 + _globals['_FENCESIGNALEDFTRACEEVENT']._serialized_end=434 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/filemap_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/filemap_pb2.py new file mode 100644 index 0000000..0b3f7ff --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/filemap_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/filemap.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/filemap.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/ftrace/filemap.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.filemap_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_MMFILEMAPADDTOPAGECACHEFTRACEEVENT']._serialized_start=63 + _globals['_MMFILEMAPADDTOPAGECACHEFTRACEEVENT']._serialized_end=171 + _globals['_MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT']._serialized_start=173 + _globals['_MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT']._serialized_end=286 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/ftrace_event_bundle_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/ftrace_event_bundle_pb2.py new file mode 100644 index 0000000..78d83fb --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/ftrace_event_bundle_pb2.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/ftrace_event_bundle.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/ftrace_event_bundle.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.ftrace import ftrace_event_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_ftrace__event__pb2 +from protos.perfetto.trace.ftrace import ftrace_stats_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_ftrace__stats__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6protos/perfetto/trace/ftrace/ftrace_event_bundle.proto\x12\x0fperfetto.protos\x1a/protos/perfetto/trace/ftrace/ftrace_event.proto\x1a/protos/perfetto/trace/ftrace/ftrace_stats.proto\"\xb9\x06\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\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*\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.ftrace_event_bundle_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_timestamp']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_timestamp']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_prev_state']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_prev_state']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_next_pid']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_next_pid']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_next_prio']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_next_prio']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_next_comm_index']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_next_comm_index']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_timestamp']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_timestamp']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_pid']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_pid']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_target_cpu']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_target_cpu']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_prio']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_prio']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_comm_index']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_comm_index']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_common_flags']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_common_flags']._serialized_options = b'\020\001' + _globals['_FTRACECLOCK']._serialized_start=1002 + _globals['_FTRACECLOCK']._serialized_end=1147 + _globals['_FTRACEEVENTBUNDLE']._serialized_start=174 + _globals['_FTRACEEVENTBUNDLE']._serialized_end=999 + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED']._serialized_start=547 + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED']._serialized_end=913 + _globals['_FTRACEEVENTBUNDLE_FTRACEERROR']._serialized_start=915 + _globals['_FTRACEEVENTBUNDLE_FTRACEERROR']._serialized_end=999 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/ftrace_event_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/ftrace_event_pb2.py new file mode 100644 index 0000000..75c4242 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/ftrace_event_pb2.py @@ -0,0 +1,106 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/ftrace_event.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/ftrace_event.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.ftrace import android_fs_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_android__fs__pb2 +from protos.perfetto.trace.ftrace import bcl_exynos_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_bcl__exynos__pb2 +from protos.perfetto.trace.ftrace import binder_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_binder__pb2 +from protos.perfetto.trace.ftrace import block_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_block__pb2 +from protos.perfetto.trace.ftrace import cgroup_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_cgroup__pb2 +from protos.perfetto.trace.ftrace import clk_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_clk__pb2 +from protos.perfetto.trace.ftrace import cma_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_cma__pb2 +from protos.perfetto.trace.ftrace import compaction_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_compaction__pb2 +from protos.perfetto.trace.ftrace import cpuhp_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_cpuhp__pb2 +from protos.perfetto.trace.ftrace import cros_ec_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_cros__ec__pb2 +from protos.perfetto.trace.ftrace import dcvsh_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_dcvsh__pb2 +from protos.perfetto.trace.ftrace import dma_fence_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_dma__fence__pb2 +from protos.perfetto.trace.ftrace import dmabuf_heap_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_dmabuf__heap__pb2 +from protos.perfetto.trace.ftrace import dpu_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_dpu__pb2 +from protos.perfetto.trace.ftrace import drm_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_drm__pb2 +from protos.perfetto.trace.ftrace import ext4_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_ext4__pb2 +from protos.perfetto.trace.ftrace import f2fs_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_f2fs__pb2 +from protos.perfetto.trace.ftrace import fastrpc_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_fastrpc__pb2 +from protos.perfetto.trace.ftrace import fence_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_fence__pb2 +from protos.perfetto.trace.ftrace import filemap_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_filemap__pb2 +from protos.perfetto.trace.ftrace import ftrace_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_ftrace__pb2 +from protos.perfetto.trace.ftrace import g2d_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_g2d__pb2 +from protos.perfetto.trace.ftrace import google_icc_trace_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_google__icc__trace__pb2 +from protos.perfetto.trace.ftrace import google_irm_trace_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_google__irm__trace__pb2 +from protos.perfetto.trace.ftrace import gpu_mem_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_gpu__mem__pb2 +from protos.perfetto.trace.ftrace import gpu_scheduler_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_gpu__scheduler__pb2 +from protos.perfetto.trace.ftrace import hyp_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_hyp__pb2 +from protos.perfetto.trace.ftrace import i2c_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_i2c__pb2 +from protos.perfetto.trace.ftrace import ion_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_ion__pb2 +from protos.perfetto.trace.ftrace import ipi_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_ipi__pb2 +from protos.perfetto.trace.ftrace import irq_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_irq__pb2 +from protos.perfetto.trace.ftrace import kgsl_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_kgsl__pb2 +from protos.perfetto.trace.ftrace import kmem_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_kmem__pb2 +from protos.perfetto.trace.ftrace import kvm_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_kvm__pb2 +from protos.perfetto.trace.ftrace import lowmemorykiller_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_lowmemorykiller__pb2 +from protos.perfetto.trace.ftrace import lwis_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_lwis__pb2 +from protos.perfetto.trace.ftrace import mali_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_mali__pb2 +from protos.perfetto.trace.ftrace import mdss_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_mdss__pb2 +from protos.perfetto.trace.ftrace import mm_event_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_mm__event__pb2 +from protos.perfetto.trace.ftrace import net_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_net__pb2 +from protos.perfetto.trace.ftrace import oom_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_oom__pb2 +from protos.perfetto.trace.ftrace import panel_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_panel__pb2 +from protos.perfetto.trace.ftrace import perf_trace_counters_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_perf__trace__counters__pb2 +from protos.perfetto.trace.ftrace import power_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_power__pb2 +from protos.perfetto.trace.ftrace import printk_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_printk__pb2 +from protos.perfetto.trace.ftrace import raw_syscalls_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_raw__syscalls__pb2 +from protos.perfetto.trace.ftrace import regulator_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_regulator__pb2 +from protos.perfetto.trace.ftrace import rpm_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_rpm__pb2 +from protos.perfetto.trace.ftrace import samsung_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_samsung__pb2 +from protos.perfetto.trace.ftrace import sched_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_sched__pb2 +from protos.perfetto.trace.ftrace import scm_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_scm__pb2 +from protos.perfetto.trace.ftrace import sde_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_sde__pb2 +from protos.perfetto.trace.ftrace import signal_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_signal__pb2 +from protos.perfetto.trace.ftrace import skb_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_skb__pb2 +from protos.perfetto.trace.ftrace import sock_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_sock__pb2 +from protos.perfetto.trace.ftrace import sync_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_sync__pb2 +from protos.perfetto.trace.ftrace import synthetic_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_synthetic__pb2 +from protos.perfetto.trace.ftrace import systrace_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_systrace__pb2 +from protos.perfetto.trace.ftrace import task_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_task__pb2 +from protos.perfetto.trace.ftrace import tcp_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_tcp__pb2 +from protos.perfetto.trace.ftrace import thermal_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_thermal__pb2 +from protos.perfetto.trace.ftrace import thermal_exynos_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_thermal__exynos__pb2 +from protos.perfetto.trace.ftrace import trusty_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_trusty__pb2 +from protos.perfetto.trace.ftrace import ufs_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_ufs__pb2 +from protos.perfetto.trace.ftrace import v4l2_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_v4l2__pb2 +from protos.perfetto.trace.ftrace import virtio_gpu_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_virtio__gpu__pb2 +from protos.perfetto.trace.ftrace import virtio_video_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_virtio__video__pb2 +from protos.perfetto.trace.ftrace import vmscan_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_vmscan__pb2 +from protos.perfetto.trace.ftrace import workqueue_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_workqueue__pb2 +from protos.perfetto.trace.ftrace import generic_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_generic__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/protos/perfetto/trace/ftrace/ftrace_event.proto\x12\x0fperfetto.protos\x1a-protos/perfetto/trace/ftrace/android_fs.proto\x1a-protos/perfetto/trace/ftrace/bcl_exynos.proto\x1a)protos/perfetto/trace/ftrace/binder.proto\x1a(protos/perfetto/trace/ftrace/block.proto\x1a)protos/perfetto/trace/ftrace/cgroup.proto\x1a&protos/perfetto/trace/ftrace/clk.proto\x1a&protos/perfetto/trace/ftrace/cma.proto\x1a-protos/perfetto/trace/ftrace/compaction.proto\x1a(protos/perfetto/trace/ftrace/cpuhp.proto\x1a*protos/perfetto/trace/ftrace/cros_ec.proto\x1a(protos/perfetto/trace/ftrace/dcvsh.proto\x1a,protos/perfetto/trace/ftrace/dma_fence.proto\x1a.protos/perfetto/trace/ftrace/dmabuf_heap.proto\x1a&protos/perfetto/trace/ftrace/dpu.proto\x1a&protos/perfetto/trace/ftrace/drm.proto\x1a\'protos/perfetto/trace/ftrace/ext4.proto\x1a\'protos/perfetto/trace/ftrace/f2fs.proto\x1a*protos/perfetto/trace/ftrace/fastrpc.proto\x1a(protos/perfetto/trace/ftrace/fence.proto\x1a*protos/perfetto/trace/ftrace/filemap.proto\x1a)protos/perfetto/trace/ftrace/ftrace.proto\x1a&protos/perfetto/trace/ftrace/g2d.proto\x1a\x33protos/perfetto/trace/ftrace/google_icc_trace.proto\x1a\x33protos/perfetto/trace/ftrace/google_irm_trace.proto\x1a*protos/perfetto/trace/ftrace/gpu_mem.proto\x1a\x30protos/perfetto/trace/ftrace/gpu_scheduler.proto\x1a&protos/perfetto/trace/ftrace/hyp.proto\x1a&protos/perfetto/trace/ftrace/i2c.proto\x1a&protos/perfetto/trace/ftrace/ion.proto\x1a&protos/perfetto/trace/ftrace/ipi.proto\x1a&protos/perfetto/trace/ftrace/irq.proto\x1a\'protos/perfetto/trace/ftrace/kgsl.proto\x1a\'protos/perfetto/trace/ftrace/kmem.proto\x1a&protos/perfetto/trace/ftrace/kvm.proto\x1a\x32protos/perfetto/trace/ftrace/lowmemorykiller.proto\x1a\'protos/perfetto/trace/ftrace/lwis.proto\x1a\'protos/perfetto/trace/ftrace/mali.proto\x1a\'protos/perfetto/trace/ftrace/mdss.proto\x1a+protos/perfetto/trace/ftrace/mm_event.proto\x1a&protos/perfetto/trace/ftrace/net.proto\x1a&protos/perfetto/trace/ftrace/oom.proto\x1a(protos/perfetto/trace/ftrace/panel.proto\x1a\x36protos/perfetto/trace/ftrace/perf_trace_counters.proto\x1a(protos/perfetto/trace/ftrace/power.proto\x1a)protos/perfetto/trace/ftrace/printk.proto\x1a/protos/perfetto/trace/ftrace/raw_syscalls.proto\x1a,protos/perfetto/trace/ftrace/regulator.proto\x1a&protos/perfetto/trace/ftrace/rpm.proto\x1a*protos/perfetto/trace/ftrace/samsung.proto\x1a(protos/perfetto/trace/ftrace/sched.proto\x1a&protos/perfetto/trace/ftrace/scm.proto\x1a&protos/perfetto/trace/ftrace/sde.proto\x1a)protos/perfetto/trace/ftrace/signal.proto\x1a&protos/perfetto/trace/ftrace/skb.proto\x1a\'protos/perfetto/trace/ftrace/sock.proto\x1a\'protos/perfetto/trace/ftrace/sync.proto\x1a,protos/perfetto/trace/ftrace/synthetic.proto\x1a+protos/perfetto/trace/ftrace/systrace.proto\x1a\'protos/perfetto/trace/ftrace/task.proto\x1a&protos/perfetto/trace/ftrace/tcp.proto\x1a*protos/perfetto/trace/ftrace/thermal.proto\x1a\x31protos/perfetto/trace/ftrace/thermal_exynos.proto\x1a)protos/perfetto/trace/ftrace/trusty.proto\x1a&protos/perfetto/trace/ftrace/ufs.proto\x1a\'protos/perfetto/trace/ftrace/v4l2.proto\x1a-protos/perfetto/trace/ftrace/virtio_gpu.proto\x1a/protos/perfetto/trace/ftrace/virtio_video.proto\x1a)protos/perfetto/trace/ftrace/vmscan.proto\x1a,protos/perfetto/trace/ftrace/workqueue.proto\x1a*protos/perfetto/trace/ftrace/generic.proto\"\x84\xbc\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\x42\x07\n\x05\x65vent') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.ftrace_event_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_FTRACEEVENT']._serialized_start=3107 + _globals['_FTRACEEVENT']._serialized_end=43559 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/ftrace_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/ftrace_pb2.py new file mode 100644 index 0000000..550d959 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/ftrace_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/ftrace.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/ftrace.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)protos/perfetto/trace/ftrace/ftrace.proto\x12\x0fperfetto.protos\"+\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.ftrace_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PRINTFTRACEEVENT']._serialized_start=62 + _globals['_PRINTFTRACEEVENT']._serialized_end=105 + _globals['_FUNCGRAPHENTRYFTRACEEVENT']._serialized_start=107 + _globals['_FUNCGRAPHENTRYFTRACEEVENT']._serialized_end=163 + _globals['_FUNCGRAPHEXITFTRACEEVENT']._serialized_start=165 + _globals['_FUNCGRAPHEXITFTRACEEVENT']._serialized_end=272 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/ftrace_stats_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/ftrace_stats_pb2.py new file mode 100644 index 0000000..bb74e42 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/ftrace_stats_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/ftrace_stats.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/ftrace_stats.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/protos/perfetto/trace/ftrace/ftrace_stats.proto\x12\x0fperfetto.protos\"\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\"\xa7\x03\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\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\">\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*\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.ftrace_stats_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_FTRACEPARSESTATUS']._serialized_start=691 + _globals['_FTRACEPARSESTATUS']._serialized_end=1403 + _globals['_FTRACECPUSTATS']._serialized_start=69 + _globals['_FTRACECPUSTATS']._serialized_end=262 + _globals['_FTRACESTATS']._serialized_start=265 + _globals['_FTRACESTATS']._serialized_end=688 + _globals['_FTRACESTATS_PHASE']._serialized_start=626 + _globals['_FTRACESTATS_PHASE']._serialized_end=688 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/g2d_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/g2d_pb2.py new file mode 100644 index 0000000..105a869 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/g2d_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/g2d.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/g2d.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/g2d.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.g2d_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_G2DTRACINGMARKWRITEFTRACEEVENT']._serialized_start=59 + _globals['_G2DTRACINGMARKWRITEFTRACEEVENT']._serialized_end=147 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/generic_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/generic_pb2.py new file mode 100644 index 0000000..812cd10 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/generic_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/generic.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/generic.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/ftrace/generic.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.generic_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_GENERICFTRACEEVENT']._serialized_start=64 + _globals['_GENERICFTRACEEVENT']._serialized_end=258 + _globals['_GENERICFTRACEEVENT_FIELD']._serialized_start=164 + _globals['_GENERICFTRACEEVENT_FIELD']._serialized_end=258 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/google_icc_trace_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/google_icc_trace_pb2.py new file mode 100644 index 0000000..773ce91 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/google_icc_trace_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/google_icc_trace.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/google_icc_trace.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/trace/ftrace/google_icc_trace.proto\x12\x0fperfetto.protos\"=\n\x19GoogleIccEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.google_icc_trace_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_GOOGLEICCEVENTFTRACEEVENT']._serialized_start=72 + _globals['_GOOGLEICCEVENTFTRACEEVENT']._serialized_end=133 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/google_irm_trace_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/google_irm_trace_pb2.py new file mode 100644 index 0000000..7e2fc20 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/google_irm_trace_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/google_irm_trace.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/google_irm_trace.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/trace/ftrace/google_irm_trace.proto\x12\x0fperfetto.protos\"=\n\x19GoogleIrmEventFtraceEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x04') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.google_irm_trace_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_GOOGLEIRMEVENTFTRACEEVENT']._serialized_start=72 + _globals['_GOOGLEIRMEVENTFTRACEEVENT']._serialized_end=133 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/gpu_mem_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/gpu_mem_pb2.py new file mode 100644 index 0000000..352cc8b --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/gpu_mem_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/gpu_mem.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/gpu_mem.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/ftrace/gpu_mem.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.gpu_mem_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_GPUMEMTOTALFTRACEEVENT']._serialized_start=63 + _globals['_GPUMEMTOTALFTRACEEVENT']._serialized_end=130 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/gpu_scheduler_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/gpu_scheduler_pb2.py new file mode 100644 index 0000000..43faee9 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/gpu_scheduler_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/gpu_scheduler.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/gpu_scheduler.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/trace/ftrace/gpu_scheduler.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.gpu_scheduler_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DRMSCHEDJOBFTRACEEVENT']._serialized_start=69 + _globals['_DRMSCHEDJOBFTRACEEVENT']._serialized_end=191 + _globals['_DRMRUNJOBFTRACEEVENT']._serialized_start=193 + _globals['_DRMRUNJOBFTRACEEVENT']._serialized_end=313 + _globals['_DRMSCHEDPROCESSJOBFTRACEEVENT']._serialized_start=315 + _globals['_DRMSCHEDPROCESSJOBFTRACEEVENT']._serialized_end=361 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/hyp_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/hyp_pb2.py new file mode 100644 index 0000000..87ed5d7 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/hyp_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/hyp.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/hyp.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/hyp.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.hyp_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_HYPENTERFTRACEEVENT']._serialized_start=59 + _globals['_HYPENTERFTRACEEVENT']._serialized_end=80 + _globals['_HYPEXITFTRACEEVENT']._serialized_start=82 + _globals['_HYPEXITFTRACEEVENT']._serialized_end=102 + _globals['_HOSTHCALLFTRACEEVENT']._serialized_start=104 + _globals['_HOSTHCALLFTRACEEVENT']._serialized_end=155 + _globals['_HOSTSMCFTRACEEVENT']._serialized_start=157 + _globals['_HOSTSMCFTRACEEVENT']._serialized_end=208 + _globals['_HOSTMEMABORTFTRACEEVENT']._serialized_start=210 + _globals['_HOSTMEMABORTFTRACEEVENT']._serialized_end=262 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/i2c_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/i2c_pb2.py new file mode 100644 index 0000000..58c40c3 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/i2c_pb2.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/i2c.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/i2c.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/i2c.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.i2c_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_I2CREADFTRACEEVENT']._serialized_start=59 + _globals['_I2CREADFTRACEEVENT']._serialized_end=157 + _globals['_I2CWRITEFTRACEEVENT']._serialized_start=159 + _globals['_I2CWRITEFTRACEEVENT']._serialized_end=271 + _globals['_I2CRESULTFTRACEEVENT']._serialized_start=273 + _globals['_I2CRESULTFTRACEEVENT']._serialized_end=345 + _globals['_I2CREPLYFTRACEEVENT']._serialized_start=347 + _globals['_I2CREPLYFTRACEEVENT']._serialized_end=459 + _globals['_SMBUSREADFTRACEEVENT']._serialized_start=461 + _globals['_SMBUSREADFTRACEEVENT']._serialized_end=567 + _globals['_SMBUSWRITEFTRACEEVENT']._serialized_start=569 + _globals['_SMBUSWRITEFTRACEEVENT']._serialized_end=689 + _globals['_SMBUSRESULTFTRACEEVENT']._serialized_start=692 + _globals['_SMBUSRESULTFTRACEEVENT']._serialized_end=833 + _globals['_SMBUSREPLYFTRACEEVENT']._serialized_start=835 + _globals['_SMBUSREPLYFTRACEEVENT']._serialized_end=955 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/ion_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/ion_pb2.py new file mode 100644 index 0000000..08bb54a --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/ion_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/ion.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/ion.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/ion.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.ion_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_IONSTATFTRACEEVENT']._serialized_start=59 + _globals['_IONSTATFTRACEEVENT']._serialized_end=136 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/ipi_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/ipi_pb2.py new file mode 100644 index 0000000..67a4354 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/ipi_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/ipi.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/ipi.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/ipi.proto\x12\x0fperfetto.protos\"%\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.ipi_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_IPIENTRYFTRACEEVENT']._serialized_start=59 + _globals['_IPIENTRYFTRACEEVENT']._serialized_end=96 + _globals['_IPIEXITFTRACEEVENT']._serialized_start=98 + _globals['_IPIEXITFTRACEEVENT']._serialized_end=134 + _globals['_IPIRAISEFTRACEEVENT']._serialized_start=136 + _globals['_IPIRAISEFTRACEEVENT']._serialized_end=194 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/irq_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/irq_pb2.py new file mode 100644 index 0000000..3c8449c --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/irq_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/irq.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/irq.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/irq.proto\x12\x0fperfetto.protos\"&\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.irq_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SOFTIRQENTRYFTRACEEVENT']._serialized_start=59 + _globals['_SOFTIRQENTRYFTRACEEVENT']._serialized_end=97 + _globals['_SOFTIRQEXITFTRACEEVENT']._serialized_start=99 + _globals['_SOFTIRQEXITFTRACEEVENT']._serialized_end=136 + _globals['_SOFTIRQRAISEFTRACEEVENT']._serialized_start=138 + _globals['_SOFTIRQRAISEFTRACEEVENT']._serialized_end=176 + _globals['_IRQHANDLERENTRYFTRACEEVENT']._serialized_start=178 + _globals['_IRQHANDLERENTRYFTRACEEVENT']._serialized_end=250 + _globals['_IRQHANDLEREXITFTRACEEVENT']._serialized_start=252 + _globals['_IRQHANDLEREXITFTRACEEVENT']._serialized_end=305 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/kfree_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/kfree_pb2.py new file mode 100644 index 0000000..0bb128f --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/kfree_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/kfree.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/kfree.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(protos/perfetto/trace/ftrace/kfree.proto\x12\x0fperfetto.protos\"2\n\x10KfreeFtraceEvent\x12\x11\n\tcall_site\x18\x01 \x01(\x04\x12\x0b\n\x03ptr\x18\x02 \x01(\x04') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.kfree_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_KFREEFTRACEEVENT']._serialized_start=61 + _globals['_KFREEFTRACEEVENT']._serialized_end=111 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/kgsl_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/kgsl_pb2.py new file mode 100644 index 0000000..049288a --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/kgsl_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/kgsl.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/kgsl.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/trace/ftrace/kgsl.proto\x12\x0fperfetto.protos\"?\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.kgsl_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_KGSLGPUFREQUENCYFTRACEEVENT']._serialized_start=60 + _globals['_KGSLGPUFREQUENCYFTRACEEVENT']._serialized_end=123 + _globals['_KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT']._serialized_start=125 + _globals['_KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT']._serialized_end=238 + _globals['_KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT']._serialized_start=241 + _globals['_KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT']._serialized_end=490 + _globals['_KGSLADRENOCMDBATCHSYNCFTRACEEVENT']._serialized_start=492 + _globals['_KGSLADRENOCMDBATCHSYNCFTRACEEVENT']._serialized_end=587 + _globals['_KGSLADRENOCMDBATCHRETIREDFTRACEEVENT']._serialized_start=590 + _globals['_KGSLADRENOCMDBATCHRETIREDFTRACEEVENT']._serialized_end=931 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/kmalloc_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/kmalloc_pb2.py new file mode 100644 index 0000000..2fb499e --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/kmalloc_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/kmalloc.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/kmalloc.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/ftrace/kmalloc.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.kmalloc_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_KMALLOCFTRACEEVENT']._serialized_start=63 + _globals['_KMALLOCFTRACEEVENT']._serialized_end=174 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/kmem_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/kmem_pb2.py new file mode 100644 index 0000000..3b27f27 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/kmem_pb2.py @@ -0,0 +1,122 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/kmem.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/kmem.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/trace/ftrace/kmem.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.kmem_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ALLOCPAGESIOMMUENDFTRACEEVENT']._serialized_start=60 + _globals['_ALLOCPAGESIOMMUENDFTRACEEVENT']._serialized_end=125 + _globals['_ALLOCPAGESIOMMUFAILFTRACEEVENT']._serialized_start=127 + _globals['_ALLOCPAGESIOMMUFAILFTRACEEVENT']._serialized_end=193 + _globals['_ALLOCPAGESIOMMUSTARTFTRACEEVENT']._serialized_start=195 + _globals['_ALLOCPAGESIOMMUSTARTFTRACEEVENT']._serialized_end=262 + _globals['_ALLOCPAGESSYSENDFTRACEEVENT']._serialized_start=264 + _globals['_ALLOCPAGESSYSENDFTRACEEVENT']._serialized_end=327 + _globals['_ALLOCPAGESSYSFAILFTRACEEVENT']._serialized_start=329 + _globals['_ALLOCPAGESSYSFAILFTRACEEVENT']._serialized_end=393 + _globals['_ALLOCPAGESSYSSTARTFTRACEEVENT']._serialized_start=395 + _globals['_ALLOCPAGESSYSSTARTFTRACEEVENT']._serialized_end=460 + _globals['_DMAALLOCCONTIGUOUSRETRYFTRACEEVENT']._serialized_start=462 + _globals['_DMAALLOCCONTIGUOUSRETRYFTRACEEVENT']._serialized_end=513 + _globals['_IOMMUMAPRANGEFTRACEEVENT']._serialized_start=515 + _globals['_IOMMUMAPRANGEFTRACEEVENT']._serialized_end=598 + _globals['_IOMMUSECPTBLMAPRANGEENDFTRACEEVENT']._serialized_start=600 + _globals['_IOMMUSECPTBLMAPRANGEENDFTRACEEVENT']._serialized_end=702 + _globals['_IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT']._serialized_start=704 + _globals['_IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT']._serialized_end=808 + _globals['_IONALLOCBUFFERENDFTRACEEVENT']._serialized_start=810 + _globals['_IONALLOCBUFFERENDFTRACEEVENT']._serialized_end=922 + _globals['_IONALLOCBUFFERFAILFTRACEEVENT']._serialized_start=925 + _globals['_IONALLOCBUFFERFAILFTRACEEVENT']._serialized_end=1053 + _globals['_IONALLOCBUFFERFALLBACKFTRACEEVENT']._serialized_start=1056 + _globals['_IONALLOCBUFFERFALLBACKFTRACEEVENT']._serialized_end=1188 + _globals['_IONALLOCBUFFERSTARTFTRACEEVENT']._serialized_start=1190 + _globals['_IONALLOCBUFFERSTARTFTRACEEVENT']._serialized_end=1304 + _globals['_IONCPALLOCRETRYFTRACEEVENT']._serialized_start=1306 + _globals['_IONCPALLOCRETRYFTRACEEVENT']._serialized_end=1349 + _globals['_IONCPSECUREBUFFERENDFTRACEEVENT']._serialized_start=1351 + _globals['_IONCPSECUREBUFFERENDFTRACEEVENT']._serialized_end=1446 + _globals['_IONCPSECUREBUFFERSTARTFTRACEEVENT']._serialized_start=1448 + _globals['_IONCPSECUREBUFFERSTARTFTRACEEVENT']._serialized_end=1545 + _globals['_IONPREFETCHINGFTRACEEVENT']._serialized_start=1547 + _globals['_IONPREFETCHINGFTRACEEVENT']._serialized_end=1587 + _globals['_IONSECURECMAADDTOPOOLENDFTRACEEVENT']._serialized_start=1589 + _globals['_IONSECURECMAADDTOPOOLENDFTRACEEVENT']._serialized_end=1680 + _globals['_IONSECURECMAADDTOPOOLSTARTFTRACEEVENT']._serialized_start=1682 + _globals['_IONSECURECMAADDTOPOOLSTARTFTRACEEVENT']._serialized_end=1775 + _globals['_IONSECURECMAALLOCATEENDFTRACEEVENT']._serialized_start=1777 + _globals['_IONSECURECMAALLOCATEENDFTRACEEVENT']._serialized_end=1875 + _globals['_IONSECURECMAALLOCATESTARTFTRACEEVENT']._serialized_start=1877 + _globals['_IONSECURECMAALLOCATESTARTFTRACEEVENT']._serialized_end=1977 + _globals['_IONSECURECMASHRINKPOOLENDFTRACEEVENT']._serialized_start=1979 + _globals['_IONSECURECMASHRINKPOOLENDFTRACEEVENT']._serialized_end=2061 + _globals['_IONSECURECMASHRINKPOOLSTARTFTRACEEVENT']._serialized_start=2063 + _globals['_IONSECURECMASHRINKPOOLSTARTFTRACEEVENT']._serialized_end=2147 + _globals['_KFREEFTRACEEVENT']._serialized_start=2149 + _globals['_KFREEFTRACEEVENT']._serialized_end=2199 + _globals['_KMALLOCFTRACEEVENT']._serialized_start=2201 + _globals['_KMALLOCFTRACEEVENT']._serialized_end=2312 + _globals['_KMALLOCNODEFTRACEEVENT']._serialized_start=2315 + _globals['_KMALLOCNODEFTRACEEVENT']._serialized_end=2444 + _globals['_KMEMCACHEALLOCFTRACEEVENT']._serialized_start=2446 + _globals['_KMEMCACHEALLOCFTRACEEVENT']._serialized_end=2564 + _globals['_KMEMCACHEALLOCNODEFTRACEEVENT']._serialized_start=2567 + _globals['_KMEMCACHEALLOCNODEFTRACEEVENT']._serialized_end=2703 + _globals['_KMEMCACHEFREEFTRACEEVENT']._serialized_start=2705 + _globals['_KMEMCACHEFREEFTRACEEVENT']._serialized_end=2763 + _globals['_MIGRATEPAGESENDFTRACEEVENT']._serialized_start=2765 + _globals['_MIGRATEPAGESENDFTRACEEVENT']._serialized_end=2807 + _globals['_MIGRATEPAGESSTARTFTRACEEVENT']._serialized_start=2809 + _globals['_MIGRATEPAGESSTARTFTRACEEVENT']._serialized_end=2853 + _globals['_MIGRATERETRYFTRACEEVENT']._serialized_start=2855 + _globals['_MIGRATERETRYFTRACEEVENT']._serialized_end=2895 + _globals['_MMPAGEALLOCFTRACEEVENT']._serialized_start=2897 + _globals['_MMPAGEALLOCFTRACEEVENT']._serialized_end=3003 + _globals['_MMPAGEALLOCEXTFRAGFTRACEEVENT']._serialized_start=3006 + _globals['_MMPAGEALLOCEXTFRAGFTRACEEVENT']._serialized_end=3192 + _globals['_MMPAGEALLOCZONELOCKEDFTRACEEVENT']._serialized_start=3194 + _globals['_MMPAGEALLOCZONELOCKEDFTRACEEVENT']._serialized_end=3291 + _globals['_MMPAGEFREEFTRACEEVENT']._serialized_start=3293 + _globals['_MMPAGEFREEFTRACEEVENT']._serialized_end=3358 + _globals['_MMPAGEFREEBATCHEDFTRACEEVENT']._serialized_start=3360 + _globals['_MMPAGEFREEBATCHEDFTRACEEVENT']._serialized_end=3431 + _globals['_MMPAGEPCPUDRAINFTRACEEVENT']._serialized_start=3433 + _globals['_MMPAGEPCPUDRAINFTRACEEVENT']._serialized_end=3524 + _globals['_RSSSTATFTRACEEVENT']._serialized_start=3526 + _globals['_RSSSTATFTRACEEVENT']._serialized_end=3605 + _globals['_IONHEAPSHRINKFTRACEEVENT']._serialized_start=3607 + _globals['_IONHEAPSHRINKFTRACEEVENT']._serialized_end=3690 + _globals['_IONHEAPGROWFTRACEEVENT']._serialized_start=3692 + _globals['_IONHEAPGROWFTRACEEVENT']._serialized_end=3773 + _globals['_IONBUFFERCREATEFTRACEEVENT']._serialized_start=3775 + _globals['_IONBUFFERCREATEFTRACEEVENT']._serialized_end=3830 + _globals['_IONBUFFERDESTROYFTRACEEVENT']._serialized_start=3832 + _globals['_IONBUFFERDESTROYFTRACEEVENT']._serialized_end=3888 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/kvm_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/kvm_pb2.py new file mode 100644 index 0000000..d9c4c0f --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/kvm_pb2.py @@ -0,0 +1,106 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/kvm.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/kvm.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/kvm.proto\x12\x0fperfetto.protos\"(\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.kvm_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_KVMACCESSFAULTFTRACEEVENT']._serialized_start=59 + _globals['_KVMACCESSFAULTFTRACEEVENT']._serialized_end=99 + _globals['_KVMACKIRQFTRACEEVENT']._serialized_start=101 + _globals['_KVMACKIRQFTRACEEVENT']._serialized_end=153 + _globals['_KVMAGEHVAFTRACEEVENT']._serialized_start=155 + _globals['_KVMAGEHVAFTRACEEVENT']._serialized_end=205 + _globals['_KVMAGEPAGEFTRACEEVENT']._serialized_start=207 + _globals['_KVMAGEPAGEFTRACEEVENT']._serialized_end=291 + _globals['_KVMARMCLEARDEBUGFTRACEEVENT']._serialized_start=293 + _globals['_KVMARMCLEARDEBUGFTRACEEVENT']._serialized_end=343 + _globals['_KVMARMSETDREG32FTRACEEVENT']._serialized_start=345 + _globals['_KVMARMSETDREG32FTRACEEVENT']._serialized_end=402 + _globals['_KVMARMSETREGSETFTRACEEVENT']._serialized_start=404 + _globals['_KVMARMSETREGSETFTRACEEVENT']._serialized_end=459 + _globals['_KVMARMSETUPDEBUGFTRACEEVENT']._serialized_start=461 + _globals['_KVMARMSETUPDEBUGFTRACEEVENT']._serialized_end=525 + _globals['_KVMENTRYFTRACEEVENT']._serialized_start=527 + _globals['_KVMENTRYFTRACEEVENT']._serialized_end=565 + _globals['_KVMEXITFTRACEEVENT']._serialized_start=567 + _globals['_KVMEXITFTRACEEVENT']._serialized_end=633 + _globals['_KVMFPUFTRACEEVENT']._serialized_start=635 + _globals['_KVMFPUFTRACEEVENT']._serialized_end=668 + _globals['_KVMGETTIMERMAPFTRACEEVENT']._serialized_start=670 + _globals['_KVMGETTIMERMAPFTRACEEVENT']._serialized_end=781 + _globals['_KVMGUESTFAULTFTRACEEVENT']._serialized_start=783 + _globals['_KVMGUESTFAULTFTRACEEVENT']._serialized_end=867 + _globals['_KVMHANDLESYSREGFTRACEEVENT']._serialized_start=869 + _globals['_KVMHANDLESYSREGFTRACEEVENT']._serialized_end=910 + _globals['_KVMHVCARM64FTRACEEVENT']._serialized_start=912 + _globals['_KVMHVCARM64FTRACEEVENT']._serialized_end=978 + _globals['_KVMIRQLINEFTRACEEVENT']._serialized_start=980 + _globals['_KVMIRQLINEFTRACEEVENT']._serialized_end=1067 + _globals['_KVMMMIOFTRACEEVENT']._serialized_start=1069 + _globals['_KVMMMIOFTRACEEVENT']._serialized_end=1142 + _globals['_KVMMMIOEMULATEFTRACEEVENT']._serialized_start=1144 + _globals['_KVMMMIOEMULATEFTRACEEVENT']._serialized_end=1217 + _globals['_KVMSETGUESTDEBUGFTRACEEVENT']._serialized_start=1219 + _globals['_KVMSETGUESTDEBUGFTRACEEVENT']._serialized_end=1283 + _globals['_KVMSETIRQFTRACEEVENT']._serialized_start=1285 + _globals['_KVMSETIRQFTRACEEVENT']._serialized_end=1358 + _globals['_KVMSETSPTEHVAFTRACEEVENT']._serialized_start=1360 + _globals['_KVMSETSPTEHVAFTRACEEVENT']._serialized_end=1399 + _globals['_KVMSETWAYFLUSHFTRACEEVENT']._serialized_start=1401 + _globals['_KVMSETWAYFLUSHFTRACEEVENT']._serialized_end=1460 + _globals['_KVMSYSACCESSFTRACEEVENT']._serialized_start=1463 + _globals['_KVMSYSACCESSFTRACEEVENT']._serialized_end=1602 + _globals['_KVMTESTAGEHVAFTRACEEVENT']._serialized_start=1604 + _globals['_KVMTESTAGEHVAFTRACEEVENT']._serialized_end=1643 + _globals['_KVMTIMEREMULATEFTRACEEVENT']._serialized_start=1645 + _globals['_KVMTIMEREMULATEFTRACEEVENT']._serialized_end=1713 + _globals['_KVMTIMERHRTIMEREXPIREFTRACEEVENT']._serialized_start=1715 + _globals['_KVMTIMERHRTIMEREXPIREFTRACEEVENT']._serialized_end=1768 + _globals['_KVMTIMERRESTORESTATEFTRACEEVENT']._serialized_start=1770 + _globals['_KVMTIMERRESTORESTATEFTRACEEVENT']._serialized_end=1849 + _globals['_KVMTIMERSAVESTATEFTRACEEVENT']._serialized_start=1851 + _globals['_KVMTIMERSAVESTATEFTRACEEVENT']._serialized_end=1927 + _globals['_KVMTIMERUPDATEIRQFTRACEEVENT']._serialized_start=1929 + _globals['_KVMTIMERUPDATEIRQFTRACEEVENT']._serialized_end=2004 + _globals['_KVMTOGGLECACHEFTRACEEVENT']._serialized_start=2006 + _globals['_KVMTOGGLECACHEFTRACEEVENT']._serialized_end=2076 + _globals['_KVMUNMAPHVARANGEFTRACEEVENT']._serialized_start=2078 + _globals['_KVMUNMAPHVARANGEFTRACEEVENT']._serialized_end=2135 + _globals['_KVMUSERSPACEEXITFTRACEEVENT']._serialized_start=2137 + _globals['_KVMUSERSPACEEXITFTRACEEVENT']._serialized_end=2182 + _globals['_KVMVCPUWAKEUPFTRACEEVENT']._serialized_start=2184 + _globals['_KVMVCPUWAKEUPFTRACEEVENT']._serialized_end=2253 + _globals['_KVMWFXARM64FTRACEEVENT']._serialized_start=2255 + _globals['_KVMWFXARM64FTRACEEVENT']._serialized_end=2312 + _globals['_TRAPREGFTRACEEVENT']._serialized_start=2314 + _globals['_TRAPREGFTRACEEVENT']._serialized_end=2398 + _globals['_VGICUPDATEIRQPENDINGFTRACEEVENT']._serialized_start=2400 + _globals['_VGICUPDATEIRQPENDINGFTRACEEVENT']._serialized_end=2478 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/lowmemorykiller_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/lowmemorykiller_pb2.py new file mode 100644 index 0000000..37a6232 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/lowmemorykiller_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/lowmemorykiller.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/lowmemorykiller.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2protos/perfetto/trace/ftrace/lowmemorykiller.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.lowmemorykiller_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_LOWMEMORYKILLFTRACEEVENT']._serialized_start=71 + _globals['_LOWMEMORYKILLFTRACEEVENT']._serialized_end=187 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/lwis_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/lwis_pb2.py new file mode 100644 index 0000000..1b9cded --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/lwis_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/lwis.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/lwis.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/trace/ftrace/lwis.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.lwis_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_LWISTRACINGMARKWRITEFTRACEEVENT']._serialized_start=60 + _globals['_LWISTRACINGMARKWRITEFTRACEEVENT']._serialized_end=173 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/mali_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/mali_pb2.py new file mode 100644 index 0000000..63d1f44 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/mali_pb2.py @@ -0,0 +1,98 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/mali.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/mali.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/trace/ftrace/mali.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.mali_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_MALITRACINGMARKWRITEFTRACEEVENT']._serialized_start=60 + _globals['_MALITRACINGMARKWRITEFTRACEEVENT']._serialized_end=149 + _globals['_MALIMALIKCPUCQSSETFTRACEEVENT']._serialized_start=151 + _globals['_MALIMALIKCPUCQSSETFTRACEEVENT']._serialized_end=268 + _globals['_MALIMALIKCPUCQSWAITSTARTFTRACEEVENT']._serialized_start=270 + _globals['_MALIMALIKCPUCQSWAITSTARTFTRACEEVENT']._serialized_end=393 + _globals['_MALIMALIKCPUCQSWAITENDFTRACEEVENT']._serialized_start=395 + _globals['_MALIMALIKCPUCQSWAITENDFTRACEEVENT']._serialized_end=516 + _globals['_MALIMALIKCPUFENCESIGNALFTRACEEVENT']._serialized_start=518 + _globals['_MALIMALIKCPUFENCESIGNALFTRACEEVENT']._serialized_end=640 + _globals['_MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT']._serialized_start=642 + _globals['_MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT']._serialized_end=767 + _globals['_MALIMALIKCPUFENCEWAITENDFTRACEEVENT']._serialized_start=769 + _globals['_MALIMALIKCPUFENCEWAITENDFTRACEEVENT']._serialized_end=892 + _globals['_MALIMALICSFINTERRUPTSTARTFTRACEEVENT']._serialized_start=894 + _globals['_MALIMALICSFINTERRUPTSTARTFTRACEEVENT']._serialized_end=986 + _globals['_MALIMALICSFINTERRUPTENDFTRACEEVENT']._serialized_start=988 + _globals['_MALIMALICSFINTERRUPTENDFTRACEEVENT']._serialized_end=1078 + _globals['_MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT']._serialized_start=1080 + _globals['_MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT']._serialized_end=1188 + _globals['_MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT']._serialized_start=1190 + _globals['_MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT']._serialized_end=1289 + _globals['_MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT']._serialized_start=1291 + _globals['_MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT']._serialized_end=1391 + _globals['_MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT']._serialized_start=1393 + _globals['_MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT']._serialized_end=1489 + _globals['_MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT']._serialized_start=1491 + _globals['_MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT']._serialized_end=1593 + _globals['_MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT']._serialized_start=1595 + _globals['_MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT']._serialized_end=1693 + _globals['_MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT']._serialized_start=1695 + _globals['_MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT']._serialized_end=1792 + _globals['_MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT']._serialized_start=1794 + _globals['_MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT']._serialized_end=1893 + _globals['_MALIMALIPMMCUINSLEEPFTRACEEVENT']._serialized_start=1895 + _globals['_MALIMALIPMMCUINSLEEPFTRACEEVENT']._serialized_end=1982 + _globals['_MALIMALIPMMCUOFFFTRACEEVENT']._serialized_start=1984 + _globals['_MALIMALIPMMCUOFFFTRACEEVENT']._serialized_end=2067 + _globals['_MALIMALIPMMCUONFTRACEEVENT']._serialized_start=2069 + _globals['_MALIMALIPMMCUONFTRACEEVENT']._serialized_end=2151 + _globals['_MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT']._serialized_start=2153 + _globals['_MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT']._serialized_end=2253 + _globals['_MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT']._serialized_start=2255 + _globals['_MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT']._serialized_end=2350 + _globals['_MALIMALIPMMCUONHALTFTRACEEVENT']._serialized_start=2352 + _globals['_MALIMALIPMMCUONHALTFTRACEEVENT']._serialized_end=2438 + _globals['_MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT']._serialized_start=2440 + _globals['_MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT']._serialized_end=2534 + _globals['_MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT']._serialized_start=2536 + _globals['_MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT']._serialized_end=2629 + _globals['_MALIMALIPMMCUONPENDHALTFTRACEEVENT']._serialized_start=2631 + _globals['_MALIMALIPMMCUONPENDHALTFTRACEEVENT']._serialized_end=2721 + _globals['_MALIMALIPMMCUONPENDSLEEPFTRACEEVENT']._serialized_start=2723 + _globals['_MALIMALIPMMCUONPENDSLEEPFTRACEEVENT']._serialized_end=2814 + _globals['_MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT']._serialized_start=2816 + _globals['_MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT']._serialized_end=2911 + _globals['_MALIMALIPMMCUPENDOFFFTRACEEVENT']._serialized_start=2913 + _globals['_MALIMALIPMMCUPENDOFFFTRACEEVENT']._serialized_end=3000 + _globals['_MALIMALIPMMCUPENDONRELOADFTRACEEVENT']._serialized_start=3002 + _globals['_MALIMALIPMMCUPENDONRELOADFTRACEEVENT']._serialized_end=3094 + _globals['_MALIMALIPMMCUPOWERDOWNFTRACEEVENT']._serialized_start=3096 + _globals['_MALIMALIPMMCUPOWERDOWNFTRACEEVENT']._serialized_end=3185 + _globals['_MALIMALIPMMCURESETWAITFTRACEEVENT']._serialized_start=3187 + _globals['_MALIMALIPMMCURESETWAITFTRACEEVENT']._serialized_end=3276 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/mdss_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/mdss_pb2.py new file mode 100644 index 0000000..6edca9a --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/mdss_pb2.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/mdss.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/mdss.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/trace/ftrace/mdss.proto\x12\x0fperfetto.protos\"@\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.mdss_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_MDPCMDKICKOFFFTRACEEVENT']._serialized_start=60 + _globals['_MDPCMDKICKOFFFTRACEEVENT']._serialized_end=124 + _globals['_MDPCOMMITFTRACEEVENT']._serialized_start=126 + _globals['_MDPCOMMITFTRACEEVENT']._serialized_end=216 + _globals['_MDPPERFSETOTFTRACEEVENT']._serialized_start=218 + _globals['_MDPPERFSETOTFTRACEEVENT']._serialized_end=309 + _globals['_MDPSSPPCHANGEFTRACEEVENT']._serialized_start=312 + _globals['_MDPSSPPCHANGEFTRACEEVENT']._serialized_end=580 + _globals['_TRACINGMARKWRITEFTRACEEVENT']._serialized_start=582 + _globals['_TRACINGMARKWRITEFTRACEEVENT']._serialized_end=665 + _globals['_MDPCMDPINGPONGDONEFTRACEEVENT']._serialized_start=667 + _globals['_MDPCMDPINGPONGDONEFTRACEEVENT']._serialized_end=767 + _globals['_MDPCOMPAREBWFTRACEEVENT']._serialized_start=770 + _globals['_MDPCOMPAREBWFTRACEEVENT']._serialized_end=934 + _globals['_MDPPERFSETPANICLUTSFTRACEEVENT']._serialized_start=936 + _globals['_MDPPERFSETPANICLUTSFTRACEEVENT']._serialized_end=1048 + _globals['_MDPSSPPSETFTRACEEVENT']._serialized_start=1051 + _globals['_MDPSSPPSETFTRACEEVENT']._serialized_end=1316 + _globals['_MDPCMDREADPTRDONEFTRACEEVENT']._serialized_start=1318 + _globals['_MDPCMDREADPTRDONEFTRACEEVENT']._serialized_end=1383 + _globals['_MDPMISRCRCFTRACEEVENT']._serialized_start=1385 + _globals['_MDPMISRCRCFTRACEEVENT']._serialized_end=1458 + _globals['_MDPPERFSETQOSLUTSFTRACEEVENT']._serialized_start=1460 + _globals['_MDPPERFSETQOSLUTSFTRACEEVENT']._serialized_end=1585 + _globals['_MDPTRACECOUNTERFTRACEEVENT']._serialized_start=1587 + _globals['_MDPTRACECOUNTERFTRACEEVENT']._serialized_end=1665 + _globals['_MDPCMDRELEASEBWFTRACEEVENT']._serialized_start=1667 + _globals['_MDPCMDRELEASEBWFTRACEEVENT']._serialized_end=1712 + _globals['_MDPMIXERUPDATEFTRACEEVENT']._serialized_start=1714 + _globals['_MDPMIXERUPDATEFTRACEEVENT']._serialized_end=1760 + _globals['_MDPPERFSETWMLEVELSFTRACEEVENT']._serialized_start=1763 + _globals['_MDPPERFSETWMLEVELSFTRACEEVENT']._serialized_end=1923 + _globals['_MDPVIDEOUNDERRUNDONEFTRACEEVENT']._serialized_start=1925 + _globals['_MDPVIDEOUNDERRUNDONEFTRACEEVENT']._serialized_end=1997 + _globals['_MDPCMDWAITPINGPONGFTRACEEVENT']._serialized_start=1999 + _globals['_MDPCMDWAITPINGPONGFTRACEEVENT']._serialized_end=2068 + _globals['_MDPPERFPREFILLCALCFTRACEEVENT']._serialized_start=2071 + _globals['_MDPPERFPREFILLCALCFTRACEEVENT']._serialized_end=2277 + _globals['_MDPPERFUPDATEBUSFTRACEEVENT']._serialized_start=2279 + _globals['_MDPPERFUPDATEBUSFTRACEEVENT']._serialized_end=2360 + _globals['_ROTATORBWAOASCONTEXTFTRACEEVENT']._serialized_start=2362 + _globals['_ROTATORBWAOASCONTEXTFTRACEEVENT']._serialized_end=2410 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/mm_event_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/mm_event_pb2.py new file mode 100644 index 0000000..c68120d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/mm_event_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/mm_event.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/mm_event.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+protos/perfetto/trace/ftrace/mm_event.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.mm_event_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_MMEVENTRECORDFTRACEEVENT']._serialized_start=64 + _globals['_MMEVENTRECORDFTRACEEVENT']._serialized_end=153 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/net_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/net_pb2.py new file mode 100644 index 0000000..09a36b7 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/net_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/net.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/net.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/net.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.net_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_NETIFRECEIVESKBFTRACEEVENT']._serialized_start=59 + _globals['_NETIFRECEIVESKBFTRACEEVENT']._serialized_end=131 + _globals['_NETDEVXMITFTRACEEVENT']._serialized_start=133 + _globals['_NETDEVXMITFTRACEEVENT']._serialized_end=212 + _globals['_NAPIGRORECEIVEENTRYFTRACEEVENT']._serialized_start=215 + _globals['_NAPIGRORECEIVEENTRYFTRACEEVENT']._serialized_end=594 + _globals['_NAPIGRORECEIVEEXITFTRACEEVENT']._serialized_start=596 + _globals['_NAPIGRORECEIVEEXITFTRACEEVENT']._serialized_end=640 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/oom_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/oom_pb2.py new file mode 100644 index 0000000..1fbd736 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/oom_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/oom.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/oom.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/oom.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.oom_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_OOMSCOREADJUPDATEFTRACEEVENT']._serialized_start=59 + _globals['_OOMSCOREADJUPDATEFTRACEEVENT']._serialized_end=139 + _globals['_MARKVICTIMFTRACEEVENT']._serialized_start=141 + _globals['_MARKVICTIMFTRACEEVENT']._serialized_end=177 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/panel_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/panel_pb2.py new file mode 100644 index 0000000..4c684a3 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/panel_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/panel.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/panel.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(protos/perfetto/trace/ftrace/panel.proto\x12\x0fperfetto.protos\">\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.panel_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DSICMDFIFOSTATUSFTRACEEVENT']._serialized_start=61 + _globals['_DSICMDFIFOSTATUSFTRACEEVENT']._serialized_end=123 + _globals['_DSIRXFTRACEEVENT']._serialized_start=125 + _globals['_DSIRXFTRACEEVENT']._serialized_end=172 + _globals['_DSITXFTRACEEVENT']._serialized_start=174 + _globals['_DSITXFTRACEEVENT']._serialized_end=236 + _globals['_PANELWRITEGENERICFTRACEEVENT']._serialized_start=238 + _globals['_PANELWRITEGENERICFTRACEEVENT']._serialized_end=365 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/perf_trace_counters_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/perf_trace_counters_pb2.py new file mode 100644 index 0000000..f632bf8 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/perf_trace_counters_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/perf_trace_counters.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/perf_trace_counters.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6protos/perfetto/trace/ftrace/perf_trace_counters.proto\x12\x0fperfetto.protos\"\xa1\x02\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(\r\x12\x0c\n\x04\x63tr0\x18\x04 \x01(\r\x12\x0c\n\x04\x63tr1\x18\x05 \x01(\r\x12\x0c\n\x04\x63tr2\x18\x06 \x01(\r\x12\x0c\n\x04\x63tr3\x18\x07 \x01(\r\x12\r\n\x05lctr0\x18\x08 \x01(\r\x12\r\n\x05lctr1\x18\t \x01(\r\x12\x0c\n\x04\x63tr4\x18\n \x01(\r\x12\x0c\n\x04\x63tr5\x18\x0b \x01(\r\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.perf_trace_counters_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SCHEDSWITCHWITHCTRSFTRACEEVENT']._serialized_start=76 + _globals['_SCHEDSWITCHWITHCTRSFTRACEEVENT']._serialized_end=365 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/power_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/power_pb2.py new file mode 100644 index 0000000..d63f725 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/power_pb2.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/power.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/power.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(protos/perfetto/trace/ftrace/power.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.power_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CPUFREQUENCYFTRACEEVENT']._serialized_start=61 + _globals['_CPUFREQUENCYFTRACEEVENT']._serialized_end=117 + _globals['_CPUFREQUENCYLIMITSFTRACEEVENT']._serialized_start=119 + _globals['_CPUFREQUENCYLIMITSFTRACEEVENT']._serialized_end=202 + _globals['_CPUIDLEFTRACEEVENT']._serialized_start=204 + _globals['_CPUIDLEFTRACEEVENT']._serialized_end=255 + _globals['_CLOCKENABLEFTRACEEVENT']._serialized_start=257 + _globals['_CLOCKENABLEFTRACEEVENT']._serialized_end=326 + _globals['_CLOCKDISABLEFTRACEEVENT']._serialized_start=328 + _globals['_CLOCKDISABLEFTRACEEVENT']._serialized_end=398 + _globals['_CLOCKSETRATEFTRACEEVENT']._serialized_start=400 + _globals['_CLOCKSETRATEFTRACEEVENT']._serialized_end=470 + _globals['_SUSPENDRESUMEFTRACEEVENT']._serialized_start=472 + _globals['_SUSPENDRESUMEFTRACEEVENT']._serialized_end=542 + _globals['_GPUFREQUENCYFTRACEEVENT']._serialized_start=544 + _globals['_GPUFREQUENCYFTRACEEVENT']._serialized_end=600 + _globals['_WAKEUPSOURCEACTIVATEFTRACEEVENT']._serialized_start=602 + _globals['_WAKEUPSOURCEACTIVATEFTRACEEVENT']._serialized_end=664 + _globals['_WAKEUPSOURCEDEACTIVATEFTRACEEVENT']._serialized_start=666 + _globals['_WAKEUPSOURCEDEACTIVATEFTRACEEVENT']._serialized_end=730 + _globals['_GPUWORKPERIODFTRACEEVENT']._serialized_start=733 + _globals['_GPUWORKPERIODFTRACEEVENT']._serialized_end=866 + _globals['_DEVICEPMCALLBACKSTARTFTRACEEVENT']._serialized_start=868 + _globals['_DEVICEPMCALLBACKSTARTFTRACEEVENT']._serialized_end=981 + _globals['_DEVICEPMCALLBACKENDFTRACEEVENT']._serialized_start=983 + _globals['_DEVICEPMCALLBACKENDFTRACEEVENT']._serialized_end=1062 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/print_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/print_pb2.py new file mode 100644 index 0000000..3e1b574 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/print_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/print.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/print.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(protos/perfetto/trace/ftrace/print.proto\x12\x0fperfetto.protos\"+\n\x10PrintFtraceEvent\x12\n\n\x02ip\x18\x01 \x01(\x04\x12\x0b\n\x03\x62uf\x18\x02 \x01(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.print_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PRINTFTRACEEVENT']._serialized_start=61 + _globals['_PRINTFTRACEEVENT']._serialized_end=104 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/printk_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/printk_pb2.py new file mode 100644 index 0000000..b09e704 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/printk_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/printk.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/printk.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)protos/perfetto/trace/ftrace/printk.proto\x12\x0fperfetto.protos\"!\n\x12\x43onsoleFtraceEvent\x12\x0b\n\x03msg\x18\x01 \x01(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.printk_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CONSOLEFTRACEEVENT']._serialized_start=62 + _globals['_CONSOLEFTRACEEVENT']._serialized_end=95 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/raw_syscalls_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/raw_syscalls_pb2.py new file mode 100644 index 0000000..2d5a12b --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/raw_syscalls_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/raw_syscalls.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/raw_syscalls.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/protos/perfetto/trace/ftrace/raw_syscalls.proto\x12\x0fperfetto.protos\"/\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.raw_syscalls_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SYSENTERFTRACEEVENT']._serialized_start=68 + _globals['_SYSENTERFTRACEEVENT']._serialized_end=115 + _globals['_SYSEXITFTRACEEVENT']._serialized_start=117 + _globals['_SYSEXITFTRACEEVENT']._serialized_end=162 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/regulator_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/regulator_pb2.py new file mode 100644 index 0000000..bf89d6a --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/regulator_pb2.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/regulator.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/regulator.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,protos/perfetto/trace/ftrace/regulator.proto\x12\x0fperfetto.protos\"+\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.regulator_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_REGULATORDISABLEFTRACEEVENT']._serialized_start=65 + _globals['_REGULATORDISABLEFTRACEEVENT']._serialized_end=108 + _globals['_REGULATORDISABLECOMPLETEFTRACEEVENT']._serialized_start=110 + _globals['_REGULATORDISABLECOMPLETEFTRACEEVENT']._serialized_end=161 + _globals['_REGULATORENABLEFTRACEEVENT']._serialized_start=163 + _globals['_REGULATORENABLEFTRACEEVENT']._serialized_end=205 + _globals['_REGULATORENABLECOMPLETEFTRACEEVENT']._serialized_start=207 + _globals['_REGULATORENABLECOMPLETEFTRACEEVENT']._serialized_end=257 + _globals['_REGULATORENABLEDELAYFTRACEEVENT']._serialized_start=259 + _globals['_REGULATORENABLEDELAYFTRACEEVENT']._serialized_end=306 + _globals['_REGULATORSETVOLTAGEFTRACEEVENT']._serialized_start=308 + _globals['_REGULATORSETVOLTAGEFTRACEEVENT']._serialized_end=380 + _globals['_REGULATORSETVOLTAGECOMPLETEFTRACEEVENT']._serialized_start=382 + _globals['_REGULATORSETVOLTAGECOMPLETEFTRACEEVENT']._serialized_end=449 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/rpm_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/rpm_pb2.py new file mode 100644 index 0000000..8f26828 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/rpm_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/rpm.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/rpm.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/rpm.proto\x12\x0fperfetto.protos\"4\n\x14RpmStatusFtraceEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\x05') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.rpm_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_RPMSTATUSFTRACEEVENT']._serialized_start=59 + _globals['_RPMSTATUSFTRACEEVENT']._serialized_end=111 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/samsung_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/samsung_pb2.py new file mode 100644 index 0000000..a784824 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/samsung_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/samsung.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/samsung.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/ftrace/samsung.proto\x12\x0fperfetto.protos\"}\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.samsung_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SAMSUNGTRACINGMARKWRITEFTRACEEVENT']._serialized_start=63 + _globals['_SAMSUNGTRACINGMARKWRITEFTRACEEVENT']._serialized_end=188 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/sched_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/sched_pb2.py new file mode 100644 index 0000000..23b94fd --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/sched_pb2.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/sched.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/sched.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(protos/perfetto/trace/ftrace/sched.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.sched_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SCHEDSWITCHFTRACEEVENT']._serialized_start=62 + _globals['_SCHEDSWITCHFTRACEEVENT']._serialized_end=218 + _globals['_SCHEDWAKEUPFTRACEEVENT']._serialized_start=220 + _globals['_SCHEDWAKEUPFTRACEEVENT']._serialized_end=322 + _globals['_SCHEDBLOCKEDREASONFTRACEEVENT']._serialized_start=324 + _globals['_SCHEDBLOCKEDREASONFTRACEEVENT']._serialized_end=401 + _globals['_SCHEDCPUHOTPLUGFTRACEEVENT']._serialized_start=403 + _globals['_SCHEDCPUHOTPLUGFTRACEEVENT']._serialized_end=484 + _globals['_SCHEDWAKINGFTRACEEVENT']._serialized_start=486 + _globals['_SCHEDWAKINGFTRACEEVENT']._serialized_end=588 + _globals['_SCHEDWAKEUPNEWFTRACEEVENT']._serialized_start=590 + _globals['_SCHEDWAKEUPNEWFTRACEEVENT']._serialized_end=695 + _globals['_SCHEDPROCESSEXECFTRACEEVENT']._serialized_start=697 + _globals['_SCHEDPROCESSEXECFTRACEEVENT']._serialized_end=774 + _globals['_SCHEDPROCESSEXITFTRACEEVENT']._serialized_start=776 + _globals['_SCHEDPROCESSEXITFTRACEEVENT']._serialized_end=860 + _globals['_SCHEDPROCESSFORKFTRACEEVENT']._serialized_start=862 + _globals['_SCHEDPROCESSFORKFTRACEEVENT']._serialized_end=971 + _globals['_SCHEDPROCESSFREEFTRACEEVENT']._serialized_start=973 + _globals['_SCHEDPROCESSFREEFTRACEEVENT']._serialized_end=1043 + _globals['_SCHEDPROCESSHANGFTRACEEVENT']._serialized_start=1045 + _globals['_SCHEDPROCESSHANGFTRACEEVENT']._serialized_end=1101 + _globals['_SCHEDPROCESSWAITFTRACEEVENT']._serialized_start=1103 + _globals['_SCHEDPROCESSWAITFTRACEEVENT']._serialized_end=1173 + _globals['_SCHEDPISETPRIOFTRACEEVENT']._serialized_start=1175 + _globals['_SCHEDPISETPRIOFTRACEEVENT']._serialized_end=1263 + _globals['_SCHEDCPUUTILCFSFTRACEEVENT']._serialized_start=1266 + _globals['_SCHEDCPUUTILCFSFTRACEEVENT']._serialized_end=1594 + _globals['_SCHEDMIGRATETASKFTRACEEVENT']._serialized_start=1597 + _globals['_SCHEDMIGRATETASKFTRACEEVENT']._serialized_end=1734 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/scm_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/scm_pb2.py new file mode 100644 index 0000000..52cbfa0 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/scm_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/scm.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/scm.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/scm.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.scm_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SCMCALLSTARTFTRACEEVENT']._serialized_start=59 + _globals['_SCMCALLSTARTFTRACEEVENT']._serialized_end=125 + _globals['_SCMCALLENDFTRACEEVENT']._serialized_start=127 + _globals['_SCMCALLENDFTRACEEVENT']._serialized_end=150 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/sde_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/sde_pb2.py new file mode 100644 index 0000000..e89ace6 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/sde_pb2.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/sde.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/sde.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/sde.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.sde_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SDETRACINGMARKWRITEFTRACEEVENT']._serialized_start=59 + _globals['_SDETRACINGMARKWRITEFTRACEEVENT']._serialized_end=180 + _globals['_SDESDEEVTLOGFTRACEEVENT']._serialized_start=182 + _globals['_SDESDEEVTLOGFTRACEEVENT']._serialized_end=256 + _globals['_SDESDEPERFCALCCRTCFTRACEEVENT']._serialized_start=259 + _globals['_SDESDEPERFCALCCRTCFTRACEEVENT']._serialized_end=439 + _globals['_SDESDEPERFCRTCUPDATEFTRACEEVENT']._serialized_start=442 + _globals['_SDESDEPERFCRTCUPDATEFTRACEEVENT']._serialized_end=725 + _globals['_SDESDEPERFSETQOSLUTSFTRACEEVENT']._serialized_start=727 + _globals['_SDESDEPERFSETQOSLUTSFTRACEEVENT']._serialized_end=843 + _globals['_SDESDEPERFUPDATEBUSFTRACEEVENT']._serialized_start=845 + _globals['_SDESDEPERFUPDATEBUSFTRACEEVENT']._serialized_end=945 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/signal_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/signal_pb2.py new file mode 100644 index 0000000..d2eeff1 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/signal_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/signal.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/signal.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)protos/perfetto/trace/ftrace/signal.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.signal_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SIGNALDELIVERFTRACEEVENT']._serialized_start=62 + _globals['_SIGNALDELIVERFTRACEEVENT']._serialized_end=133 + _globals['_SIGNALGENERATEFTRACEEVENT']._serialized_start=135 + _globals['_SIGNALGENERATEFTRACEEVENT']._serialized_end=247 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/skb_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/skb_pb2.py new file mode 100644 index 0000000..4f23e85 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/skb_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/skb.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/skb.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/skb.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.skb_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_KFREESKBFTRACEEVENT']._serialized_start=59 + _globals['_KFREESKBFTRACEEVENT']._serialized_end=133 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/sock_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/sock_pb2.py new file mode 100644 index 0000000..d9c4893 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/sock_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/sock.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/sock.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/trace/ftrace/sock.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.sock_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_INETSOCKSETSTATEFTRACEEVENT']._serialized_start=61 + _globals['_INETSOCKSETSTATEFTRACEEVENT']._serialized_end=236 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/sync_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/sync_pb2.py new file mode 100644 index 0000000..76e53d2 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/sync_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/sync.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/sync.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/trace/ftrace/sync.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.sync_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SYNCPTFTRACEEVENT']._serialized_start=60 + _globals['_SYNCPTFTRACEEVENT']._serialized_end=112 + _globals['_SYNCTIMELINEFTRACEEVENT']._serialized_start=114 + _globals['_SYNCTIMELINEFTRACEEVENT']._serialized_end=168 + _globals['_SYNCWAITFTRACEEVENT']._serialized_start=170 + _globals['_SYNCWAITFTRACEEVENT']._serialized_end=236 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/synthetic_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/synthetic_pb2.py new file mode 100644 index 0000000..cdeb8c6 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/synthetic_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/synthetic.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/synthetic.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,protos/perfetto/trace/ftrace/synthetic.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.synthetic_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_RSSSTATTHROTTLEDFTRACEEVENT']._serialized_start=65 + _globals['_RSSSTATTHROTTLEDFTRACEEVENT']._serialized_end=153 + _globals['_SUSPENDRESUMEMINIMALFTRACEEVENT']._serialized_start=155 + _globals['_SUSPENDRESUMEMINIMALFTRACEEVENT']._serialized_end=203 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/systrace_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/systrace_pb2.py new file mode 100644 index 0000000..e480b6b --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/systrace_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/systrace.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/systrace.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+protos/perfetto/trace/ftrace/systrace.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.systrace_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ZEROFTRACEEVENT']._serialized_start=64 + _globals['_ZEROFTRACEEVENT']._serialized_end=137 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/task_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/task_pb2.py new file mode 100644 index 0000000..4a7c810 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/task_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/task.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/task.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/trace/ftrace/task.proto\x12\x0fperfetto.protos\"_\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.task_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TASKNEWTASKFTRACEEVENT']._serialized_start=60 + _globals['_TASKNEWTASKFTRACEEVENT']._serialized_end=155 + _globals['_TASKRENAMEFTRACEEVENT']._serialized_start=157 + _globals['_TASKRENAMEFTRACEEVENT']._serialized_end=250 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/tcp_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/tcp_pb2.py new file mode 100644 index 0000000..b22a162 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/tcp_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/tcp.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/tcp.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/tcp.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.tcp_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TCPRETRANSMITSKBFTRACEEVENT']._serialized_start=60 + _globals['_TCPRETRANSMITSKBFTRACEEVENT']._serialized_end=197 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/test_bundle_wrapper_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/test_bundle_wrapper_pb2.py new file mode 100644 index 0000000..beef045 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/test_bundle_wrapper_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/test_bundle_wrapper.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/test_bundle_wrapper.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.ftrace import ftrace_event_bundle_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_ftrace__event__bundle__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6protos/perfetto/trace/ftrace/test_bundle_wrapper.proto\x12\x0fperfetto.protos\x1a\x36protos/perfetto/trace/ftrace/ftrace_event_bundle.proto\"f\n\x11TestBundleWrapper\x12\x0e\n\x06\x62\x65\x66ore\x18\x01 \x01(\t\x12\x32\n\x06\x62undle\x18\x02 \x03(\x0b\x32\".perfetto.protos.FtraceEventBundle\x12\r\n\x05\x61\x66ter\x18\x03 \x01(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.test_bundle_wrapper_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TESTBUNDLEWRAPPER']._serialized_start=131 + _globals['_TESTBUNDLEWRAPPER']._serialized_end=233 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/thermal_exynos_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/thermal_exynos_pb2.py new file mode 100644 index 0000000..432cee2 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/thermal_exynos_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/thermal_exynos.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/thermal_exynos.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1protos/perfetto/trace/ftrace/thermal_exynos.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.thermal_exynos_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_THERMALEXYNOSACPMBULKFTRACEEVENT']._serialized_start=71 + _globals['_THERMALEXYNOSACPMBULKFTRACEEVENT']._serialized_end=299 + _globals['_THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT']._serialized_start=302 + _globals['_THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT']._serialized_end=464 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/thermal_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/thermal_pb2.py new file mode 100644 index 0000000..a8a122b --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/thermal_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/thermal.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/thermal.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*protos/perfetto/trace/ftrace/thermal.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.thermal_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_THERMALTEMPERATUREFTRACEEVENT']._serialized_start=63 + _globals['_THERMALTEMPERATUREFTRACEEVENT']._serialized_end=161 + _globals['_CDEVUPDATEFTRACEEVENT']._serialized_start=163 + _globals['_CDEVUPDATEFTRACEEVENT']._serialized_end=216 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/trusty_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/trusty_pb2.py new file mode 100644 index 0000000..4bab162 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/trusty_pb2.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/trusty.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/trusty.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)protos/perfetto/trace/ftrace/trusty.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.trusty_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRUSTYSMCFTRACEEVENT']._serialized_start=62 + _globals['_TRUSTYSMCFTRACEEVENT']._serialized_end=132 + _globals['_TRUSTYSMCDONEFTRACEEVENT']._serialized_start=134 + _globals['_TRUSTYSMCDONEFTRACEEVENT']._serialized_end=173 + _globals['_TRUSTYSTDCALL32FTRACEEVENT']._serialized_start=175 + _globals['_TRUSTYSTDCALL32FTRACEEVENT']._serialized_end=251 + _globals['_TRUSTYSTDCALL32DONEFTRACEEVENT']._serialized_start=253 + _globals['_TRUSTYSTDCALL32DONEFTRACEEVENT']._serialized_end=298 + _globals['_TRUSTYSHAREMEMORYFTRACEEVENT']._serialized_start=300 + _globals['_TRUSTYSHAREMEMORYFTRACEEVENT']._serialized_end=372 + _globals['_TRUSTYSHAREMEMORYDONEFTRACEEVENT']._serialized_start=374 + _globals['_TRUSTYSHAREMEMORYDONEFTRACEEVENT']._serialized_end=479 + _globals['_TRUSTYRECLAIMMEMORYFTRACEEVENT']._serialized_start=481 + _globals['_TRUSTYRECLAIMMEMORYFTRACEEVENT']._serialized_end=525 + _globals['_TRUSTYRECLAIMMEMORYDONEFTRACEEVENT']._serialized_start=527 + _globals['_TRUSTYRECLAIMMEMORYDONEFTRACEEVENT']._serialized_end=588 + _globals['_TRUSTYIRQFTRACEEVENT']._serialized_start=590 + _globals['_TRUSTYIRQFTRACEEVENT']._serialized_end=625 + _globals['_TRUSTYIPCHANDLEEVENTFTRACEEVENT']._serialized_start=627 + _globals['_TRUSTYIPCHANDLEEVENTFTRACEEVENT']._serialized_end=710 + _globals['_TRUSTYIPCCONNECTFTRACEEVENT']._serialized_start=712 + _globals['_TRUSTYIPCCONNECTFTRACEEVENT']._serialized_end=784 + _globals['_TRUSTYIPCCONNECTENDFTRACEEVENT']._serialized_start=786 + _globals['_TRUSTYIPCCONNECTENDFTRACEEVENT']._serialized_end=860 + _globals['_TRUSTYIPCWRITEFTRACEEVENT']._serialized_start=863 + _globals['_TRUSTYIPCWRITEFTRACEEVENT']._serialized_end=993 + _globals['_TRUSTYIPCPOLLFTRACEEVENT']._serialized_start=995 + _globals['_TRUSTYIPCPOLLFTRACEEVENT']._serialized_end=1072 + _globals['_TRUSTYIPCREADFTRACEEVENT']._serialized_start=1074 + _globals['_TRUSTYIPCREADFTRACEEVENT']._serialized_end=1132 + _globals['_TRUSTYIPCREADENDFTRACEEVENT']._serialized_start=1134 + _globals['_TRUSTYIPCREADENDFTRACEEVENT']._serialized_end=1248 + _globals['_TRUSTYIPCRXFTRACEEVENT']._serialized_start=1250 + _globals['_TRUSTYIPCRXFTRACEEVENT']._serialized_end=1322 + _globals['_TRUSTYENQUEUENOPFTRACEEVENT']._serialized_start=1324 + _globals['_TRUSTYENQUEUENOPFTRACEEVENT']._serialized_end=1395 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/ufs_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/ufs_pb2.py new file mode 100644 index 0000000..a12cb97 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/ufs_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/ufs.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/ufs.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/ftrace/ufs.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.ufs_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_UFSHCDCOMMANDFTRACEEVENT']._serialized_start=60 + _globals['_UFSHCDCOMMANDFTRACEEVENT']._serialized_end=246 + _globals['_UFSHCDCLKGATINGFTRACEEVENT']._serialized_start=248 + _globals['_UFSHCDCLKGATINGFTRACEEVENT']._serialized_end=309 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/v4l2_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/v4l2_pb2.py new file mode 100644 index 0000000..6462f5b --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/v4l2_pb2.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/v4l2.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/v4l2.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/trace/ftrace/v4l2.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.v4l2_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_V4L2QBUFFTRACEEVENT']._serialized_start=61 + _globals['_V4L2QBUFFTRACEEVENT']._serialized_end=472 + _globals['_V4L2DQBUFFTRACEEVENT']._serialized_start=475 + _globals['_V4L2DQBUFFTRACEEVENT']._serialized_end=887 + _globals['_VB2V4L2BUFQUEUEFTRACEEVENT']._serialized_start=890 + _globals['_VB2V4L2BUFQUEUEFTRACEEVENT']._serialized_end=1260 + _globals['_VB2V4L2BUFDONEFTRACEEVENT']._serialized_start=1263 + _globals['_VB2V4L2BUFDONEFTRACEEVENT']._serialized_end=1632 + _globals['_VB2V4L2QBUFFTRACEEVENT']._serialized_start=1635 + _globals['_VB2V4L2QBUFFTRACEEVENT']._serialized_end=2001 + _globals['_VB2V4L2DQBUFFTRACEEVENT']._serialized_start=2004 + _globals['_VB2V4L2DQBUFFTRACEEVENT']._serialized_end=2371 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/virtio_gpu_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/virtio_gpu_pb2.py new file mode 100644 index 0000000..d54f238 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/virtio_gpu_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/virtio_gpu.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/virtio_gpu.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-protos/perfetto/trace/ftrace/virtio_gpu.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.virtio_gpu_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_VIRTIOGPUCMDQUEUEFTRACEEVENT']._serialized_start=67 + _globals['_VIRTIOGPUCMDQUEUEFTRACEEVENT']._serialized_end=232 + _globals['_VIRTIOGPUCMDRESPONSEFTRACEEVENT']._serialized_start=235 + _globals['_VIRTIOGPUCMDRESPONSEFTRACEEVENT']._serialized_end=403 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/virtio_video_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/virtio_video_pb2.py new file mode 100644 index 0000000..93d9ed0 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/virtio_video_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/virtio_video.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/virtio_video.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/protos/perfetto/trace/ftrace/virtio_video.proto\x12\x0fperfetto.protos\"<\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.virtio_video_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_VIRTIOVIDEOCMDFTRACEEVENT']._serialized_start=68 + _globals['_VIRTIOVIDEOCMDFTRACEEVENT']._serialized_end=128 + _globals['_VIRTIOVIDEOCMDDONEFTRACEEVENT']._serialized_start=130 + _globals['_VIRTIOVIDEOCMDDONEFTRACEEVENT']._serialized_end=194 + _globals['_VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT']._serialized_start=197 + _globals['_VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT']._serialized_end=393 + _globals['_VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT']._serialized_start=396 + _globals['_VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT']._serialized_end=596 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/vmscan_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/vmscan_pb2.py new file mode 100644 index 0000000..0eba36b --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/vmscan_pb2.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/vmscan.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/vmscan.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)protos/perfetto/trace/ftrace/vmscan.proto\x12\x0fperfetto.protos\"`\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.vmscan_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT']._serialized_start=62 + _globals['_MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT']._serialized_end=158 + _globals['_MMVMSCANDIRECTRECLAIMENDFTRACEEVENT']._serialized_start=160 + _globals['_MMVMSCANDIRECTRECLAIMENDFTRACEEVENT']._serialized_end=219 + _globals['_MMVMSCANKSWAPDWAKEFTRACEEVENT']._serialized_start=221 + _globals['_MMVMSCANKSWAPDWAKEFTRACEEVENT']._serialized_end=293 + _globals['_MMVMSCANKSWAPDSLEEPFTRACEEVENT']._serialized_start=295 + _globals['_MMVMSCANKSWAPDSLEEPFTRACEEVENT']._serialized_end=340 + _globals['_MMSHRINKSLABSTARTFTRACEEVENT']._serialized_start=343 + _globals['_MMSHRINKSLABSTARTFTRACEEVENT']._serialized_end=576 + _globals['_MMSHRINKSLABENDFTRACEEVENT']._serialized_start=579 + _globals['_MMSHRINKSLABENDFTRACEEVENT']._serialized_end=724 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ftrace/workqueue_pb2.py b/lglpy/timeline/protos/perfetto/trace/ftrace/workqueue_pb2.py new file mode 100644 index 0000000..141430d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ftrace/workqueue_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ftrace/workqueue.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ftrace/workqueue.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,protos/perfetto/trace/ftrace/workqueue.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ftrace.workqueue_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_WORKQUEUEACTIVATEWORKFTRACEEVENT']._serialized_start=65 + _globals['_WORKQUEUEACTIVATEWORKFTRACEEVENT']._serialized_end=113 + _globals['_WORKQUEUEEXECUTEENDFTRACEEVENT']._serialized_start=115 + _globals['_WORKQUEUEEXECUTEENDFTRACEEVENT']._serialized_end=179 + _globals['_WORKQUEUEEXECUTESTARTFTRACEEVENT']._serialized_start=181 + _globals['_WORKQUEUEEXECUTESTARTFTRACEEVENT']._serialized_end=247 + _globals['_WORKQUEUEQUEUEWORKFTRACEEVENT']._serialized_start=249 + _globals['_WORKQUEUEQUEUEWORKFTRACEEVENT']._serialized_end=361 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/gpu/__init__.py b/lglpy/timeline/protos/perfetto/trace/gpu/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/gpu/gpu_counter_event_pb2.py b/lglpy/timeline/protos/perfetto/trace/gpu/gpu_counter_event_pb2.py new file mode 100644 index 0000000..6d5b35c --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/gpu/gpu_counter_event_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/gpu/gpu_counter_event.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/gpu/gpu_counter_event.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import gpu_counter_descriptor_pb2 as protos_dot_perfetto_dot_common_dot_gpu__counter__descriptor__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1protos/perfetto/trace/gpu/gpu_counter_event.proto\x12\x0fperfetto.protos\x1a\x33protos/perfetto/common/gpu_counter_descriptor.proto\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.gpu.gpu_counter_event_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_GPUCOUNTEREVENT']._serialized_start=124 + _globals['_GPUCOUNTEREVENT']._serialized_end=375 + _globals['_GPUCOUNTEREVENT_GPUCOUNTER']._serialized_start=289 + _globals['_GPUCOUNTEREVENT_GPUCOUNTER']._serialized_end=375 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/gpu/gpu_log_pb2.py b/lglpy/timeline/protos/perfetto/trace/gpu/gpu_log_pb2.py new file mode 100644 index 0000000..18abb7f --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/gpu/gpu_log_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/gpu/gpu_log.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/gpu/gpu_log.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/trace/gpu/gpu_log.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.gpu.gpu_log_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_GPULOG']._serialized_start=61 + _globals['_GPULOG']._serialized_end=321 + _globals['_GPULOG_SEVERITY']._serialized_start=158 + _globals['_GPULOG_SEVERITY']._serialized_end=321 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/gpu/gpu_render_stage_event_pb2.py b/lglpy/timeline/protos/perfetto/trace/gpu/gpu_render_stage_event_pb2.py new file mode 100644 index 0000000..e99d7c6 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/gpu/gpu_render_stage_event_pb2.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/gpu/gpu_render_stage_event.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/gpu/gpu_render_stage_event.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6protos/perfetto/trace/gpu/gpu_render_stage_event.proto\x12\x0fperfetto.protos\"\xf6\x06\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!\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.gpu.gpu_render_stage_event_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_GPURENDERSTAGEEVENT'].fields_by_name['specifications']._loaded_options = None + _globals['_GPURENDERSTAGEEVENT'].fields_by_name['specifications']._serialized_options = b'\030\001' + _globals['_GPURENDERSTAGEEVENT'].fields_by_name['hw_queue_id']._loaded_options = None + _globals['_GPURENDERSTAGEEVENT'].fields_by_name['hw_queue_id']._serialized_options = b'\030\001' + _globals['_GPURENDERSTAGEEVENT'].fields_by_name['stage_id']._loaded_options = None + _globals['_GPURENDERSTAGEEVENT'].fields_by_name['stage_id']._serialized_options = b'\030\001' + _globals['_GPURENDERSTAGEEVENT']._serialized_start=76 + _globals['_GPURENDERSTAGEEVENT']._serialized_end=962 + _globals['_GPURENDERSTAGEEVENT_EXTRADATA']._serialized_start=552 + _globals['_GPURENDERSTAGEEVENT_EXTRADATA']._serialized_end=592 + _globals['_GPURENDERSTAGEEVENT_SPECIFICATIONS']._serialized_start=595 + _globals['_GPURENDERSTAGEEVENT_SPECIFICATIONS']._serialized_end=956 + _globals['_GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC']._serialized_start=863 + _globals['_GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC']._serialized_end=906 + _globals['_GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION']._serialized_start=908 + _globals['_GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION']._serialized_end=956 + _globals['_INTERNEDGRAPHICSCONTEXT']._serialized_start=965 + _globals['_INTERNEDGRAPHICSCONTEXT']._serialized_end=1135 + _globals['_INTERNEDGRAPHICSCONTEXT_API']._serialized_start=1077 + _globals['_INTERNEDGRAPHICSCONTEXT_API']._serialized_end=1135 + _globals['_INTERNEDGPURENDERSTAGESPECIFICATION']._serialized_start=1138 + _globals['_INTERNEDGPURENDERSTAGESPECIFICATION']._serialized_end=1376 + _globals['_INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY']._serialized_start=1317 + _globals['_INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY']._serialized_end=1376 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/gpu/vulkan_api_event_pb2.py b/lglpy/timeline/protos/perfetto/trace/gpu/vulkan_api_event_pb2.py new file mode 100644 index 0000000..d400d53 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/gpu/vulkan_api_event_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/gpu/vulkan_api_event.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/gpu/vulkan_api_event.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/trace/gpu/vulkan_api_event.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.gpu.vulkan_api_event_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_VULKANAPIEVENT']._serialized_start=70 + _globals['_VULKANAPIEVENT']._serialized_end=513 + _globals['_VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME']._serialized_start=256 + _globals['_VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME']._serialized_end=370 + _globals['_VULKANAPIEVENT_VKQUEUESUBMIT']._serialized_start=373 + _globals['_VULKANAPIEVENT_VKQUEUESUBMIT']._serialized_end=504 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/gpu/vulkan_memory_event_pb2.py b/lglpy/timeline/protos/perfetto/trace/gpu/vulkan_memory_event_pb2.py new file mode 100644 index 0000000..97e64bd --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/gpu/vulkan_memory_event_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/gpu/vulkan_memory_event.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/gpu/vulkan_memory_event.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/trace/gpu/vulkan_memory_event.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.gpu.vulkan_memory_event_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_VULKANMEMORYEVENTANNOTATION']._serialized_start=72 + _globals['_VULKANMEMORYEVENTANNOTATION']._serialized_end=194 + _globals['_VULKANMEMORYEVENT']._serialized_start=197 + _globals['_VULKANMEMORYEVENT']._serialized_end=1069 + _globals['_VULKANMEMORYEVENT_SOURCE']._serialized_start=682 + _globals['_VULKANMEMORYEVENT_SOURCE']._serialized_end=815 + _globals['_VULKANMEMORYEVENT_OPERATION']._serialized_start=817 + _globals['_VULKANMEMORYEVENT_OPERATION']._serialized_end=934 + _globals['_VULKANMEMORYEVENT_ALLOCATIONSCOPE']._serialized_start=937 + _globals['_VULKANMEMORYEVENT_ALLOCATIONSCOPE']._serialized_end=1069 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/interned_data/__init__.py b/lglpy/timeline/protos/perfetto/trace/interned_data/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/interned_data/interned_data_pb2.py b/lglpy/timeline/protos/perfetto/trace/interned_data/interned_data_pb2.py new file mode 100644 index 0000000..f4e044d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/interned_data/interned_data_pb2.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/interned_data/interned_data.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/interned_data/interned_data.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.android import network_trace_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_network__trace__pb2 +from protos.perfetto.trace.chrome import v8_pb2 as protos_dot_perfetto_dot_trace_dot_chrome_dot_v8__pb2 +from protos.perfetto.trace.gpu import gpu_render_stage_event_pb2 as protos_dot_perfetto_dot_trace_dot_gpu_dot_gpu__render__stage__event__pb2 +from protos.perfetto.trace.track_event import chrome_histogram_sample_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__histogram__sample__pb2 +from protos.perfetto.trace.track_event import debug_annotation_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_debug__annotation__pb2 +from protos.perfetto.trace.track_event import log_message_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_log__message__pb2 +from protos.perfetto.trace.track_event import track_event_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_track__event__pb2 +from protos.perfetto.trace.track_event import source_location_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_source__location__pb2 +from protos.perfetto.trace.profiling import profile_common_pb2 as protos_dot_perfetto_dot_trace_dot_profiling_dot_profile__common__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7protos/perfetto/trace/interned_data/interned_data.proto\x12\x0fperfetto.protos\x1a\x31protos/perfetto/trace/android/network_trace.proto\x1a%protos/perfetto/trace/chrome/v8.proto\x1a\x36protos/perfetto/trace/gpu/gpu_render_stage_event.proto\x1a?protos/perfetto/trace/track_event/chrome_histogram_sample.proto\x1a\x38protos/perfetto/trace/track_event/debug_annotation.proto\x1a\x33protos/perfetto/trace/track_event/log_message.proto\x1a\x33protos/perfetto/trace/track_event/track_event.proto\x1a\x37protos/perfetto/trace/track_event/source_location.proto\x1a\x34protos/perfetto/trace/profiling/profile_common.proto\"\x8a\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\x45\n\x16profiled_frame_symbols\x18\x15 \x03(\x0b\x32%.perfetto.protos.ProfiledFrameSymbols\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.interned_data.interned_data_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_INTERNEDDATA']._serialized_start=563 + _globals['_INTERNEDDATA']._serialized_end=2621 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/memory_graph_pb2.py b/lglpy/timeline/protos/perfetto/trace/memory_graph_pb2.py new file mode 100644 index 0000000..fff2410 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/memory_graph_pb2.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/memory_graph.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/memory_graph.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(protos/perfetto/trace/memory_graph.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.memory_graph_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_MEMORYTRACKERSNAPSHOT']._serialized_start=62 + _globals['_MEMORYTRACKERSNAPSHOT']._serialized_end=1070 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT']._serialized_start=277 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT']._serialized_end=995 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE']._serialized_start=491 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE']._serialized_end=902 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY']._serialized_start=675 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY']._serialized_end=902 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS']._serialized_start=856 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS']._serialized_end=902 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE']._serialized_start=904 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE']._serialized_end=995 + _globals['_MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL']._serialized_start=997 + _globals['_MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL']._serialized_end=1070 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/perfetto/__init__.py b/lglpy/timeline/protos/perfetto/trace/perfetto/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/perfetto/perfetto_metatrace_pb2.py b/lglpy/timeline/protos/perfetto/trace/perfetto/perfetto_metatrace_pb2.py new file mode 100644 index 0000000..de176e0 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/perfetto/perfetto_metatrace_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/perfetto/perfetto_metatrace.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/perfetto/perfetto_metatrace.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7protos/perfetto/trace/perfetto/perfetto_metatrace.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.perfetto.perfetto_metatrace_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PERFETTOMETATRACE']._serialized_start=77 + _globals['_PERFETTOMETATRACE']._serialized_end=622 + _globals['_PERFETTOMETATRACE_ARG']._serialized_start=434 + _globals['_PERFETTOMETATRACE_ARG']._serialized_end=561 + _globals['_PERFETTOMETATRACE_INTERNEDSTRING']._serialized_start=563 + _globals['_PERFETTOMETATRACE_INTERNEDSTRING']._serialized_end=607 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/perfetto/tracing_service_event_pb2.py b/lglpy/timeline/protos/perfetto/trace/perfetto/tracing_service_event_pb2.py new file mode 100644 index 0000000..9f14651 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/perfetto/tracing_service_event_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/perfetto/tracing_service_event.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/perfetto/tracing_service_event.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n:protos/perfetto/trace/perfetto/tracing_service_event.proto\x12\x0fperfetto.protos\"\xec\x01\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\"\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\x42\x0c\n\nevent_type') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.perfetto.tracing_service_event_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACINGSERVICEEVENT']._serialized_start=80 + _globals['_TRACINGSERVICEEVENT']._serialized_end=316 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/perfetto_trace_pb2.py b/lglpy/timeline/protos/perfetto/trace/perfetto_trace_pb2.py new file mode 100644 index 0000000..9cffaaa --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/perfetto_trace_pb2.py @@ -0,0 +1,2211 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/perfetto_trace.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/perfetto_trace.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +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\"\xa7\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\x1aS\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\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\"\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\"1\n\x12PackagesListConfig\x12\x1b\n\x13package_name_filter\x18\x01 \x03(\t\"\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\"\x92\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\"A\n\x0e\x43lientPriority\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nBACKGROUND\x10\x01\x12\x12\n\x0eUSER_INITIATED\x10\x02\"@\n\x08V8Config\x12\x1a\n\x12log_script_sources\x18\x01 \x01(\x08\x12\x18\n\x10log_instructions\x18\x02 \x01(\x08\"s\n\tEtwConfig\x12;\n\x0ckernel_flags\x18\x01 \x03(\x0e\x32%.perfetto.protos.EtwConfig.KernelFlag\")\n\nKernelFlag\x12\x0b\n\x07\x43SWITCH\x10\x00\x12\x0e\n\nDISPATCHER\x10\x01\"\x92\t\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\x16\n\x0e\x62uffer_size_kb\x18\n \x01(\r\x12\x17\n\x0f\x64rain_period_ms\x18\x0b \x01(\r\x12\x1c\n\x14\x64rain_buffer_percent\x18\x1a \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\x36\n*initialize_ksyms_synchronously_for_testing\x18\x0e \x01(\x08\x42\x02\x18\x01\x12\x19\n\x11throttle_rss_stat\x18\x0f \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\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\x1f\n\x17\x62uffer_size_lower_bound\x18\x1b \x01(\x08\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\"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\x02\"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\"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\"\xa6\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\x1b\n\x13resolve_process_fds\x18\t \x01(\x08\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\"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\"\xc7\x08\n\nPerfEvents\x1a\xc5\x02\n\x08Timebase\x12\x13\n\tfrequency\x18\x02 \x01(\x04H\x00\x12\x10\n\x06period\x18\x01 \x01(\x04H\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\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\"\xd7\x07\n\x0fPerfEventConfig\x12\x36\n\x08timebase\x18\x0f \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12N\n\x12\x63\x61llstack_sampling\x18\x10 \x01(\x0b\x32\x32.perfetto.protos.PerfEventConfig.CallstackSampling\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\"C\n\nUnwindMode\x12\x12\n\x0eUNWIND_UNKNOWN\x10\x00\x12\x0f\n\x0bUNWIND_SKIP\x10\x01\x12\x10\n\x0cUNWIND_DWARF\x10\x02J\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\"\xd1\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\"{\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\"\xae\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\x1a\x66ilter_dynamic_event_names\x18\t \x01(\x08\"\xba\x14\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\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\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\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\x01J\x0b\x08\xff\xff\xff\x7f\x10\x80\x80\x80\x80\x01\"\xe9#\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\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\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\x81\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\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!\"\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\"\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\"\x95\x11\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\xb3\x03\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\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\xef\x02\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\x1a\x1a\n\x08\x46rameEnd\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\x03\"\xb0\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\"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\"\xfb\x01\n\x12NetworkPacketEvent\x12\x34\n\tdirection\x18\x01 \x01(\x0e\x32!.perfetto.protos.TrafficDirection\x12\x11\n\tinterface\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\"\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\"\x8a\x12\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\x15\n\rcorner_radius\x18) \x01(\x02\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\x1f\n\x17requested_corner_radius\x18\x38 \x01(\x02\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\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\"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\"\x8d\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\"\xc0 \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\x15\n\rcorner_radius\x18\x0c \x01(\x02\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\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\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\"\xe1\x03\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\"\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\"@\n\rChromeTrigger\x12\x14\n\x0ctrigger_name\x18\x01 \x01(\t\x12\x19\n\x11trigger_name_hash\x18\x02 \x01(\x07\"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\"C\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\"\xb7\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\"\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\"\xf8\n\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\x12T\n\x16old_thread_wait_reason\x18\x06 \x01(\x0e\x32\x34.perfetto.protos.CSwitchEtwEvent.OldThreadWaitReason\x12P\n\x14old_thread_wait_mode\x18\x07 \x01(\x0e\x32\x32.perfetto.protos.CSwitchEtwEvent.OldThreadWaitMode\x12I\n\x10old_thread_state\x18\x08 \x01(\x0e\x32/.perfetto.protos.CSwitchEtwEvent.OldThreadState\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\"\xa2\x03\n\x13ReadyThreadEtwEvent\x12\x13\n\x0bt_thread_id\x18\x01 \x01(\r\x12H\n\radjust_reason\x18\x02 \x01(\x0e\x32\x31.perfetto.protos.ReadyThreadEtwEvent.AdjustReason\x12\x18\n\x10\x61\x64just_increment\x18\x03 \x01(\x11\x12<\n\x04\x66lag\x18\x04 \x01(\x0e\x32..perfetto.protos.ReadyThreadEtwEvent.TraceFlag\"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\"\xac\x01\n\rEtwTraceEvent\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\x0b\n\x03\x63pu\x18\x04 \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\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\"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\"\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\"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\"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\"[\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\"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\"`\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\"+\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\"=\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\"\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\"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\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\"(\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\"@\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\"\xa1\x02\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(\r\x12\x0c\n\x04\x63tr0\x18\x04 \x01(\r\x12\x0c\n\x04\x63tr1\x18\x05 \x01(\r\x12\x0c\n\x04\x63tr2\x18\x06 \x01(\r\x12\x0c\n\x04\x63tr3\x18\x07 \x01(\r\x12\r\n\x05lctr0\x18\x08 \x01(\r\x12\r\n\x05lctr1\x18\t \x01(\r\x12\x0c\n\x04\x63tr4\x18\n \x01(\r\x12\x0c\n\x04\x63tr5\x18\x0b \x01(\r\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\"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\"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\"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\"\x84\xbc\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\x42\x07\n\x05\x65vent\"\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\"\xa7\x03\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\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\">\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\"\xb9\x06\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\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\"\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\"\xf6\x06\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!\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\"n\n\x14ProfiledFrameSymbols\x12\x11\n\tframe_iid\x18\x01 \x01(\x04\x12\x18\n\x10\x66unction_name_id\x18\x02 \x03(\x04\x12\x14\n\x0c\x66ile_name_id\x18\x03 \x03(\x04\x12\x13\n\x0bline_number\x18\x04 \x03(\r\"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\"\x8f\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\"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\"h\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\x12\n\x0eSCROLL_UNKNOWN\x10\x03\"%\n\tFrameType\x12\n\n\x06\x46ORKED\x10\x00\x12\x0c\n\x08\x42\x41\x43KFILL\x10\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\"\xe9\x17\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;\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\x12\x43\n\x15\x63hrome_frame_reporter\x18 \x01(\x0b\x32$.perfetto.protos.ChromeFrameReporter\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\x02\x12\x1d\n\x13source_location_iid\x18\" \x01(\x04H\x02\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\x03\x12\x1f\n\x15timestamp_absolute_us\x18\x10 \x01(\x03H\x03\x12\x1e\n\x14thread_time_delta_us\x18\x02 \x01(\x03H\x04\x12!\n\x17thread_time_absolute_us\x18\x11 \x01(\x03H\x04\x12(\n\x1ethread_instruction_count_delta\x18\x08 \x01(\x03H\x05\x12+\n!thread_instruction_count_absolute\x18\x14 \x01(\x03H\x05\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\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\"\x8a\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\x45\n\x16profiled_frame_symbols\x18\x15 \x03(\x0b\x32%.perfetto.protos.ProfiledFrameSymbols\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\"\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\"\xec\x01\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\"\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\x42\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\"\xb1\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\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\"\xf6\x01\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\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\"\xb6\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\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\"\x8d\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\x42\x17\n\x15optional_unwind_errorB \n\x1eoptional_sample_skipped_reason\"\x87\x01\n\x12PerfSampleDefaults\x12\x36\n\x08timebase\x18\x01 \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\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\"\xa4\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\xea\x04\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\"\xda\x02\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\x1ax\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\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(\x04J\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\"\xc1\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\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\xa2\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\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\"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\"\xa2\x02\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\x19\n\x11\x61ndroid_soc_model\x18\t \x01(\t\x12!\n\x19\x61ndroid_hardware_revision\x18\n \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\"v\n\x07\x43puInfo\x12*\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.CpuInfo.Cpu\x1a?\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\"\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\"\xe5\x0b\n\x17\x43hromeProcessDescriptor\x12J\n\x0cprocess_type\x18\x01 \x01(\x0e\x32\x34.perfetto.protos.ChromeProcessDescriptor.ProcessType\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\"\x91\n\n\x0bProcessType\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\x12\x1b\n\x17PROCESS_SERVICE_NETWORK\x10\t\x12\x1b\n\x17PROCESS_SERVICE_TRACING\x10\n\x12\x1b\n\x17PROCESS_SERVICE_STORAGE\x10\x0b\x12\x19\n\x15PROCESS_SERVICE_AUDIO\x10\x0c\x12 \n\x1cPROCESS_SERVICE_DATA_DECODER\x10\r\x12\x1c\n\x18PROCESS_SERVICE_UTIL_WIN\x10\x0e\x12\"\n\x1ePROCESS_SERVICE_PROXY_RESOLVER\x10\x0f\x12\x17\n\x13PROCESS_SERVICE_CDM\x10\x10\x12!\n\x1dPROCESS_SERVICE_VIDEO_CAPTURE\x10\x11\x12\x1c\n\x18PROCESS_SERVICE_UNZIPPER\x10\x12\x12\x1d\n\x19PROCESS_SERVICE_MIRRORING\x10\x13\x12\x1f\n\x1bPROCESS_SERVICE_FILEPATCHER\x10\x14\x12\x17\n\x13PROCESS_SERVICE_TTS\x10\x15\x12\x1c\n\x18PROCESS_SERVICE_PRINTING\x10\x16\x12\x1e\n\x1aPROCESS_SERVICE_QUARANTINE\x10\x17\x12$\n PROCESS_SERVICE_CROS_LOCALSEARCH\x10\x18\x12\x30\n,PROCESS_SERVICE_CROS_ASSISTANT_AUDIO_DECODER\x10\x19\x12\x1c\n\x18PROCESS_SERVICE_FILEUTIL\x10\x1a\x12#\n\x1fPROCESS_SERVICE_PRINTCOMPOSITOR\x10\x1b\x12 \n\x1cPROCESS_SERVICE_PAINTPREVIEW\x10\x1c\x12%\n!PROCESS_SERVICE_SPEECHRECOGNITION\x10\x1d\x12\x1c\n\x18PROCESS_SERVICE_XRDEVICE\x10\x1e\x12\x1c\n\x18PROCESS_SERVICE_READICON\x10\x1f\x12%\n!PROCESS_SERVICE_LANGUAGEDETECTION\x10 \x12\x1b\n\x17PROCESS_SERVICE_SHARING\x10!\x12\x1f\n\x1bPROCESS_SERVICE_MEDIAPARSER\x10\"\x12#\n\x1fPROCESS_SERVICE_QRCODEGENERATOR\x10#\x12!\n\x1dPROCESS_SERVICE_PROFILEIMPORT\x10$\x12\x17\n\x13PROCESS_SERVICE_IME\x10%\x12\x1d\n\x19PROCESS_SERVICE_RECORDING\x10&\x12\"\n\x1ePROCESS_SERVICE_SHAPEDETECTION\x10\'\x12\x1e\n\x1aPROCESS_RENDERER_EXTENSION\x10(\x12$\n PROCESS_SERVICE_MEDIA_FOUNDATION\x10)\"\xec\t\n\x16\x43hromeThreadDescriptor\x12G\n\x0bthread_type\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.ChromeThreadDescriptor.ThreadType\x12\x19\n\x11legacy_sort_index\x18\x02 \x01(\x05\"\xed\x08\n\nThreadType\x12\x16\n\x12THREAD_UNSPECIFIED\x10\x00\x12\x0f\n\x0bTHREAD_MAIN\x10\x01\x12\r\n\tTHREAD_IO\x10\x02\x12\x19\n\x15THREAD_POOL_BG_WORKER\x10\x03\x12\x19\n\x15THREAD_POOL_FG_WORKER\x10\x04\x12\x1b\n\x17THREAD_POOL_FG_BLOCKING\x10\x05\x12\x1b\n\x17THREAD_POOL_BG_BLOCKING\x10\x06\x12\x17\n\x13THREAD_POOL_SERVICE\x10\x07\x12\x15\n\x11THREAD_COMPOSITOR\x10\x08\x12\x19\n\x15THREAD_VIZ_COMPOSITOR\x10\t\x12\x1c\n\x18THREAD_COMPOSITOR_WORKER\x10\n\x12\x19\n\x15THREAD_SERVICE_WORKER\x10\x0b\x12\x1a\n\x16THREAD_NETWORK_SERVICE\x10\x0c\x12\x13\n\x0fTHREAD_CHILD_IO\x10\r\x12\x15\n\x11THREAD_BROWSER_IO\x10\x0e\x12\x17\n\x13THREAD_BROWSER_MAIN\x10\x0f\x12\x18\n\x14THREAD_RENDERER_MAIN\x10\x10\x12\x17\n\x13THREAD_UTILITY_MAIN\x10\x11\x12\x13\n\x0fTHREAD_GPU_MAIN\x10\x12\x12\x1a\n\x16THREAD_CACHE_BLOCKFILE\x10\x13\x12\x10\n\x0cTHREAD_MEDIA\x10\x14\x12\x1d\n\x19THREAD_AUDIO_OUTPUTDEVICE\x10\x15\x12\x1c\n\x18THREAD_AUDIO_INPUTDEVICE\x10\x16\x12\x15\n\x11THREAD_GPU_MEMORY\x10\x17\x12\x14\n\x10THREAD_GPU_VSYNC\x10\x18\x12\x1b\n\x17THREAD_DXA_VIDEODECODER\x10\x19\x12\x1b\n\x17THREAD_BROWSER_WATCHDOG\x10\x1a\x12\x19\n\x15THREAD_WEBRTC_NETWORK\x10\x1b\x12\x17\n\x13THREAD_WINDOW_OWNER\x10\x1c\x12\x1b\n\x17THREAD_WEBRTC_SIGNALING\x10\x1d\x12\x18\n\x14THREAD_WEBRTC_WORKER\x10\x1e\x12\x15\n\x11THREAD_PPAPI_MAIN\x10\x1f\x12\x17\n\x13THREAD_GPU_WATCHDOG\x10 \x12\x12\n\x0eTHREAD_SWAPPER\x10!\x12\x1a\n\x16THREAD_GAMEPAD_POLLING\x10\"\x12\x14\n\x10THREAD_WEBCRYPTO\x10#\x12\x13\n\x0fTHREAD_DATABASE\x10$\x12\x18\n\x14THREAD_PROXYRESOLVER\x10%\x12\x16\n\x12THREAD_DEVTOOLSADB\x10&\x12\x1f\n\x1bTHREAD_NETWORKCONFIGWATCHER\x10\'\x12\x18\n\x14THREAD_WASAPI_RENDER\x10(\x12\x1e\n\x1aTHREAD_LOADER_LOCK_SAMPLER\x10)\x12\x17\n\x13THREAD_MEMORY_INFRA\x10\x32\x12\x1c\n\x18THREAD_SAMPLING_PROFILER\x10\x33\"\xad\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\"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\"\xc1\x03\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\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\x42\x18\n\x16static_or_dynamic_name\"\xa7\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\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\"T\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\"\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\"\x90+\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\x12G\n\x16profiled_frame_symbols\x18\x37 \x01(\x0b\x32%.perfetto.protos.ProfiledFrameSymbolsH\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\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\x10k\"5\n\x05Trace\x12,\n\x06packet\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TracePacket*\xa3\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\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*\xd2\x8e\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\x1a\n\x16\x41TOM_LMK_STATE_CHANGED\x10\x36\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\x17\n\x13\x41TOM_DAVEY_OCCURRED\x10:\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)ATOM_APP_SEARCH_SET_SCHEMA_STATS_REPORTED\x10\x81\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_CAMERA_COMPAT_CONTROL_EVENT_REPORTED\x10\x9b\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 \n\x1b\x41TOM_AD_SERVICES_API_CALLED\x10\xb3\x03\x12\x31\n,ATOM_AD_SERVICES_MESUREMENT_REPORTS_UPLOADED\x10\xb4\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)\n$ATOM_JSSCRIPTENGINE_LATENCY_REPORTED\x10\xe3\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\x39\n4ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STATUS_REPORTED\x10\xea\x03\x12\x1a\n\x15\x41TOM_APP_COMPACTED_V2\x10\xeb\x03\x12-\n(ATOM_AD_SERVICES_SETTINGS_USAGE_REPORTED\x10\xed\x03\x12$\n\x1f\x41TOM_DISPLAY_BRIGHTNESS_CHANGED\x10\xee\x03\x12!\n\x1c\x41TOM_ACTIVITY_ACTION_BLOCKED\x10\xef\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\x37\n2ATOM_MOBILE_DATA_DOWNLOAD_DOWNLOAD_RESULT_REPORTED\x10\xf6\x03\x12@\n;ATOM_MOBILE_DATA_DOWNLOAD_FILE_GROUP_STORAGE_STATS_REPORTED\x10\xf7\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*ATOM_AD_SERVICES_MEASUREMENT_REGISTRATIONS\x10\x80\x04\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_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-\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\x34\n/ATOM_APP_SEARCH_SCHEMA_MIGRATION_STATS_REPORTED\x10\xc3\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(\n#ATOM_GRAMMATICAL_INFLECTION_CHANGED\x10\xc8\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\x1e\n\x19\x41TOM_WS_WEAR_TIME_SESSION\x10\xe2\x04\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\x1c\x41TOM_WIFI_AWARE_NDP_REPORTED\x10\xfe\x04\x12$\n\x1f\x41TOM_WIFI_AWARE_ATTACH_REPORTED\x10\xff\x04\x12&\n!ATOM_WIFI_SELF_RECOVERY_TRIGGERED\x10\x95\x05\x12\x19\n\x14\x41TOM_SOFT_AP_STARTED\x10\xa8\x05\x12\x19\n\x14\x41TOM_SOFT_AP_STOPPED\x10\xa9\x05\x12\x1c\n\x17\x41TOM_WIFI_LOCK_RELEASED\x10\xaf\x05\x12\x1f\n\x1a\x41TOM_WIFI_LOCK_DEACTIVATED\x10\xb0\x05\x12\x1b\n\x16\x41TOM_WIFI_CONFIG_SAVED\x10\xb1\x05\x12+\n&ATOM_WIFI_AWARE_RESOURCE_USING_CHANGED\x10\xb2\x05\x12#\n\x1e\x41TOM_WIFI_AWARE_HAL_API_CALLED\x10\xb3\x05\x12*\n%ATOM_WIFI_LOCAL_ONLY_REQUEST_RECEIVED\x10\xb4\x05\x12\x30\n+ATOM_WIFI_LOCAL_ONLY_REQUEST_SCAN_TRIGGERED\x10\xb5\x05\x12#\n\x1e\x41TOM_WIFI_THREAD_TASK_EXECUTED\x10\xb6\x05\x12\x1c\n\x17\x41TOM_WIFI_STATE_CHANGED\x10\xbc\x05\x12!\n\x1c\x41TOM_WIFI_AWARE_CAPABILITIES\x10\xceO\x12\x1a\n\x15\x41TOM_WIFI_MODULE_INFO\x10\xd1O\x12\x1f\n\x1a\x41TOM_SETTINGS_SPA_REPORTED\x10\xee\x04\x12 \n\x1b\x41TOM_EXPRESS_EVENT_REPORTED\x10\x90\x04\x12+\n&ATOM_EXPRESS_HISTOGRAM_SAMPLE_REPORTED\x10\xd1\x04\x12$\n\x1f\x41TOM_EXPRESS_UID_EVENT_REPORTED\x10\x84\x05\x12/\n*ATOM_EXPRESS_UID_HISTOGRAM_SAMPLE_REPORTED\x10\x92\x05\x12,\n\'ATOM_PERMISSION_RATIONALE_DIALOG_VIEWED\x10\x85\x05\x12\x35\n0ATOM_PERMISSION_RATIONALE_DIALOG_ACTION_REPORTED\x10\x86\x05\x12;\n6ATOM_APP_DATA_SHARING_UPDATES_NOTIFICATION_INTERACTION\x10\x87\x05\x12\x32\n-ATOM_APP_DATA_SHARING_UPDATES_FRAGMENT_VIEWED\x10\x88\x05\x12;\n6ATOM_APP_DATA_SHARING_UPDATES_FRAGMENT_ACTION_REPORTED\x10\x89\x05\x12*\n%ATOM_WS_INCOMING_CALL_ACTION_REPORTED\x10\xf2\x04\x12(\n#ATOM_WS_CALL_DISCONNECTION_REPORTED\x10\xf3\x04\x12#\n\x1e\x41TOM_WS_CALL_DURATION_REPORTED\x10\xf4\x04\x12\x32\n-ATOM_WS_CALL_USER_EXPERIENCE_LATENCY_REPORTED\x10\xf5\x04\x12&\n!ATOM_WS_CALL_INTERACTION_REPORTED\x10\xf6\x04\x12%\n ATOM_FULL_SCREEN_INTENT_LAUNCHED\x10\xf7\x04\x12\x15\n\x10\x41TOM_BAL_ALLOWED\x10\xf8\x04\x12\"\n\x1d\x41TOM_IN_TASK_ACTIVITY_STARTED\x10\xad\x05\x12$\n\x1f\x41TOM_CACHED_APPS_HIGH_WATERMARK\x10\xcdO\x12\x1c\n\x17\x41TOM_ODREFRESH_REPORTED\x10\xee\x02\x12\x19\n\x14\x41TOM_ODSIGN_REPORTED\x10\xa4\x04\x12\x1c\n\x17\x41TOM_ART_DATUM_REPORTED\x10\xcc\x02\x12#\n\x1e\x41TOM_ART_DEVICE_DATUM_REPORTED\x10\xa6\x04\x12\"\n\x1d\x41TOM_ART_DATUM_DELTA_REPORTED\x10\xb5\x04\x12%\n ATOM_BACKGROUND_DEXOPT_JOB_ENDED\x10\xd3\x03\x12.\n)ATOM_WEAR_ADAPTIVE_SUSPEND_STATS_REPORTED\x10\xeb\x04\x12?\n:ATOM_WEAR_POWER_ANOMALY_SERVICE_OPERATIONAL_STATS_REPORTED\x10\xec\x04\x12\x39\n4ATOM_WEAR_POWER_ANOMALY_SERVICE_EVENT_STATS_REPORTED\x10\xed\x04\x12!\n\x1c\x41TOM_EMERGENCY_STATE_CHANGED\x10\xf9\x04\x12\x1b\n\x16\x41TOM_DND_STATE_CHANGED\x10\x91\x05\x12\x13\n\x0e\x41TOM_MTE_STATE\x10\xc5O\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&\n!ATOM_AD_SERVICES_CONSENT_MIGRATED\x10\xbe\x05\x12\x19\n\x14\x41TOM_RKPD_POOL_STATS\x10\x98\x05\x12\x1f\n\x1a\x41TOM_RKPD_CLIENT_OPERATION\x10\x99\x05\x12$\n\x1f\x41TOM_AUTOFILL_UI_EVENT_REPORTED\x10\xdb\x04\x12(\n#ATOM_AUTOFILL_FILL_REQUEST_REPORTED\x10\xdc\x04\x12)\n$ATOM_AUTOFILL_FILL_RESPONSE_REPORTED\x10\xdd\x04\x12&\n!ATOM_AUTOFILL_SAVE_EVENT_REPORTED\x10\xde\x04\x12$\n\x1f\x41TOM_AUTOFILL_SESSION_COMMITTED\x10\xdf\x04\x12\x36\n1ATOM_AUTOFILL_FIELD_CLASSIFICATION_EVENT_REPORTED\x10\x93\x05\x12&\n!ATOM_TEST_EXTENSION_ATOM_REPORTED\x10\x94\x05\x12\'\n\"ATOM_TEST_RESTRICTED_ATOM_REPORTED\x10\xa0\x05\x12$\n\x1f\x41TOM_STATS_SOCKET_LOSS_REPORTED\x10\xf0\x05\x12\x1c\n\x17\x41TOM_PLUGIN_INITIALIZED\x10\x8f\x05\x12%\n ATOM_TV_LOW_POWER_STANDBY_POLICY\x10\xa7\x05\x12&\n!ATOM_LOCKSCREEN_SHORTCUT_SELECTED\x10\xe3\x04\x12\'\n\"ATOM_LOCKSCREEN_SHORTCUT_TRIGGERED\x10\xe4\x04\x12 \n\x1b\x41TOM_EMERGENCY_NUMBERS_INFO\x10\xc4O\x12$\n\x1f\x41TOM_QUALIFIED_RAT_LIST_CHANGED\x10\xfa\x04\x12!\n\x1c\x41TOM_QNS_IMS_CALL_DROP_STATS\x10\xfb\x04\x12*\n%ATOM_QNS_FALLBACK_RESTRICTION_CHANGED\x10\xfc\x04\x12*\n%ATOM_QNS_RAT_PREFERENCE_MISMATCH_INFO\x10\xc1O\x12\"\n\x1d\x41TOM_QNS_HANDOVER_TIME_MILLIS\x10\xc2O\x12\x1f\n\x1a\x41TOM_QNS_HANDOVER_PINGPONG\x10\xc3O\x12\x1e\n\x19\x41TOM_SATELLITE_CONTROLLER\x10\xc6O\x12\x1b\n\x16\x41TOM_SATELLITE_SESSION\x10\xc7O\x12%\n ATOM_SATELLITE_INCOMING_DATAGRAM\x10\xc8O\x12%\n ATOM_SATELLITE_OUTGOING_DATAGRAM\x10\xc9O\x12\x1d\n\x18\x41TOM_SATELLITE_PROVISION\x10\xcaO\x12+\n&ATOM_SATELLITE_SOS_MESSAGE_RECOMMENDER\x10\xcbO\x12 \n\x1b\x41TOM_IKE_SESSION_TERMINATED\x10\xa6\x05\x12.\n)ATOM_IKE_LIVENESS_CHECK_SESSION_VALIDATED\x10\xf8\x05\x12/\n*ATOM_BLUETOOTH_HASHED_DEVICE_NAME_REPORTED\x10\xe5\x04\x12/\n*ATOM_BLUETOOTH_L2CAP_COC_CLIENT_CONNECTION\x10\xe6\x04\x12/\n*ATOM_BLUETOOTH_L2CAP_COC_SERVER_CONNECTION\x10\xe7\x04\x12(\n#ATOM_BLUETOOTH_LE_SESSION_CONNECTED\x10\x90\x05\x12\x33\n.ATOM_RESTRICTED_BLUETOOTH_DEVICE_NAME_REPORTED\x10\x9a\x05\x12\x30\n+ATOM_BLUETOOTH_PROFILE_CONNECTION_ATTEMPTED\x10\xb8\x05\x12&\n!ATOM_HEALTH_CONNECT_UI_IMPRESSION\x10\xef\x04\x12\'\n\"ATOM_HEALTH_CONNECT_UI_INTERACTION\x10\xf0\x04\x12,\n\'ATOM_HEALTH_CONNECT_APP_OPENED_REPORTED\x10\xf1\x04\x12#\n\x1e\x41TOM_HEALTH_CONNECT_API_CALLED\x10\xe8\x04\x12$\n\x1f\x41TOM_HEALTH_CONNECT_USAGE_STATS\x10\xe9\x04\x12&\n!ATOM_HEALTH_CONNECT_STORAGE_STATS\x10\xea\x04\x12$\n\x1f\x41TOM_HEALTH_CONNECT_API_INVOKED\x10\x83\x05\x12#\n\x1e\x41TOM_EXERCISE_ROUTE_API_CALLED\x10\x8e\x05\x12\x13\n\x0e\x41TOM_ATOM_9999\x10\x8fN\x12\x15\n\x0f\x41TOM_ATOM_99999\x10\x9f\x8d\x06\x12/\n*ATOM_THREADNETWORK_TELEMETRY_DATA_REPORTED\x10\xe2\x05\x12+\n&ATOM_THREADNETWORK_TOPO_ENTRY_REPEATED\x10\xe3\x05\x12,\n\'ATOM_THREADNETWORK_DEVICE_INFO_REPORTED\x10\xe4\x05\x12!\n\x1c\x41TOM_EMERGENCY_NUMBER_DIALED\x10\xfd\x04\x12\x1c\n\x17\x41TOM_SANDBOX_API_CALLED\x10\xe8\x03\x12)\n$ATOM_SANDBOX_ACTIVITY_EVENT_OCCURRED\x10\xdf\x05\x12\x1d\n\x18\x41TOM_SANDBOX_SDK_STORAGE\x10\xafO\x12\x1f\n\x1a\x41TOM_CRONET_ENGINE_CREATED\x10\xbf\x05\x12!\n\x1c\x41TOM_CRONET_TRAFFIC_REPORTED\x10\xc0\x05\x12+\n&ATOM_CRONET_ENGINE_BUILDER_INITIALIZED\x10\xfa\x05\x12\'\n\"ATOM_CRONET_HTTP_FLAGS_INITIALIZED\x10\xfb\x05\x12\x1c\n\x17\x41TOM_CRONET_INITIALIZED\x10\xfc\x05\x12\'\n\"ATOM_DAILY_KEEPALIVE_INFO_REPORTED\x10\x8a\x05\x12$\n\x1f\x41TOM_IP_CLIENT_RA_INFO_REPORTED\x10\x8a\x06\x12#\n\x1e\x41TOM_APF_SESSION_INFO_REPORTED\x10\x89\x06\x12\'\n\"ATOM_CREDENTIAL_MANAGER_API_CALLED\x10\xc9\x04\x12\x30\n+ATOM_CREDENTIAL_MANAGER_INIT_PHASE_REPORTED\x10\x8b\x05\x12\x35\n0ATOM_CREDENTIAL_MANAGER_CANDIDATE_PHASE_REPORTED\x10\x8c\x05\x12\x31\n,ATOM_CREDENTIAL_MANAGER_FINAL_PHASE_REPORTED\x10\x8d\x05\x12+\n&ATOM_CREDENTIAL_MANAGER_TOTAL_REPORTED\x10\x9b\x05\x12\x30\n+ATOM_CREDENTIAL_MANAGER_FINALNOUID_REPORTED\x10\x9c\x05\x12)\n$ATOM_CREDENTIAL_MANAGER_GET_REPORTED\x10\x9d\x05\x12\x30\n+ATOM_CREDENTIAL_MANAGER_AUTH_CLICK_REPORTED\x10\x9e\x05\x12)\n$ATOM_CREDENTIAL_MANAGER_APIV2_CALLED\x10\x9f\x05\x12\x1b\n\x16\x41TOM_UWB_ACTIVITY_INFO\x10\xccO\x12\x1f\n\x1a\x41TOM_MEDIA_ACTION_REPORTED\x10\xe0\x04\x12!\n\x1c\x41TOM_MEDIA_CONTROLS_LAUNCHED\x10\xe1\x04\x12/\n*ATOM_MEDIA_CODEC_RECLAIM_REQUEST_COMPLETED\x10\xd8\x04\x12\x1d\n\x18\x41TOM_MEDIA_CODEC_STARTED\x10\x81\x05\x12\x1d\n\x18\x41TOM_MEDIA_CODEC_STOPPED\x10\x82\x05\x12\x1e\n\x19\x41TOM_MEDIA_CODEC_RENDERED\x10\xac\x05*\xa5\x07\n\x0fMeminfoCounters\x12\x17\n\x13MEMINFO_UNSPECIFIED\x10\x00\x12\x15\n\x11MEMINFO_MEM_TOTAL\x10\x01\x12\x14\n\x10MEMINFO_MEM_FREE\x10\x02\x12\x19\n\x15MEMINFO_MEM_AVAILABLE\x10\x03\x12\x13\n\x0fMEMINFO_BUFFERS\x10\x04\x12\x12\n\x0eMEMINFO_CACHED\x10\x05\x12\x17\n\x13MEMINFO_SWAP_CACHED\x10\x06\x12\x12\n\x0eMEMINFO_ACTIVE\x10\x07\x12\x14\n\x10MEMINFO_INACTIVE\x10\x08\x12\x17\n\x13MEMINFO_ACTIVE_ANON\x10\t\x12\x19\n\x15MEMINFO_INACTIVE_ANON\x10\n\x12\x17\n\x13MEMINFO_ACTIVE_FILE\x10\x0b\x12\x19\n\x15MEMINFO_INACTIVE_FILE\x10\x0c\x12\x17\n\x13MEMINFO_UNEVICTABLE\x10\r\x12\x13\n\x0fMEMINFO_MLOCKED\x10\x0e\x12\x16\n\x12MEMINFO_SWAP_TOTAL\x10\x0f\x12\x15\n\x11MEMINFO_SWAP_FREE\x10\x10\x12\x11\n\rMEMINFO_DIRTY\x10\x11\x12\x15\n\x11MEMINFO_WRITEBACK\x10\x12\x12\x16\n\x12MEMINFO_ANON_PAGES\x10\x13\x12\x12\n\x0eMEMINFO_MAPPED\x10\x14\x12\x11\n\rMEMINFO_SHMEM\x10\x15\x12\x10\n\x0cMEMINFO_SLAB\x10\x16\x12\x1c\n\x18MEMINFO_SLAB_RECLAIMABLE\x10\x17\x12\x1e\n\x1aMEMINFO_SLAB_UNRECLAIMABLE\x10\x18\x12\x18\n\x14MEMINFO_KERNEL_STACK\x10\x19\x12\x17\n\x13MEMINFO_PAGE_TABLES\x10\x1a\x12\x18\n\x14MEMINFO_COMMIT_LIMIT\x10\x1b\x12\x17\n\x13MEMINFO_COMMITED_AS\x10\x1c\x12\x19\n\x15MEMINFO_VMALLOC_TOTAL\x10\x1d\x12\x18\n\x14MEMINFO_VMALLOC_USED\x10\x1e\x12\x19\n\x15MEMINFO_VMALLOC_CHUNK\x10\x1f\x12\x15\n\x11MEMINFO_CMA_TOTAL\x10 \x12\x14\n\x10MEMINFO_CMA_FREE\x10!\x12\x0f\n\x0bMEMINFO_GPU\x10\"\x12\x10\n\x0cMEMINFO_ZRAM\x10#\x12\x10\n\x0cMEMINFO_MISC\x10$\x12\x14\n\x10MEMINFO_ION_HEAP\x10%\x12\x19\n\x15MEMINFO_ION_HEAP_POOL\x10&*\x81,\n\x0eVmstatCounters\x12\x16\n\x12VMSTAT_UNSPECIFIED\x10\x00\x12\x18\n\x14VMSTAT_NR_FREE_PAGES\x10\x01\x12\x19\n\x15VMSTAT_NR_ALLOC_BATCH\x10\x02\x12\x1b\n\x17VMSTAT_NR_INACTIVE_ANON\x10\x03\x12\x19\n\x15VMSTAT_NR_ACTIVE_ANON\x10\x04\x12\x1b\n\x17VMSTAT_NR_INACTIVE_FILE\x10\x05\x12\x19\n\x15VMSTAT_NR_ACTIVE_FILE\x10\x06\x12\x19\n\x15VMSTAT_NR_UNEVICTABLE\x10\x07\x12\x13\n\x0fVMSTAT_NR_MLOCK\x10\x08\x12\x18\n\x14VMSTAT_NR_ANON_PAGES\x10\t\x12\x14\n\x10VMSTAT_NR_MAPPED\x10\n\x12\x18\n\x14VMSTAT_NR_FILE_PAGES\x10\x0b\x12\x13\n\x0fVMSTAT_NR_DIRTY\x10\x0c\x12\x17\n\x13VMSTAT_NR_WRITEBACK\x10\r\x12\x1e\n\x1aVMSTAT_NR_SLAB_RECLAIMABLE\x10\x0e\x12 \n\x1cVMSTAT_NR_SLAB_UNRECLAIMABLE\x10\x0f\x12\x1e\n\x1aVMSTAT_NR_PAGE_TABLE_PAGES\x10\x10\x12\x1a\n\x16VMSTAT_NR_KERNEL_STACK\x10\x11\x12\x16\n\x12VMSTAT_NR_OVERHEAD\x10\x12\x12\x16\n\x12VMSTAT_NR_UNSTABLE\x10\x13\x12\x14\n\x10VMSTAT_NR_BOUNCE\x10\x14\x12\x1a\n\x16VMSTAT_NR_VMSCAN_WRITE\x10\x15\x12&\n\"VMSTAT_NR_VMSCAN_IMMEDIATE_RECLAIM\x10\x16\x12\x1c\n\x18VMSTAT_NR_WRITEBACK_TEMP\x10\x17\x12\x1b\n\x17VMSTAT_NR_ISOLATED_ANON\x10\x18\x12\x1b\n\x17VMSTAT_NR_ISOLATED_FILE\x10\x19\x12\x13\n\x0fVMSTAT_NR_SHMEM\x10\x1a\x12\x15\n\x11VMSTAT_NR_DIRTIED\x10\x1b\x12\x15\n\x11VMSTAT_NR_WRITTEN\x10\x1c\x12\x1b\n\x17VMSTAT_NR_PAGES_SCANNED\x10\x1d\x12\x1d\n\x19VMSTAT_WORKINGSET_REFAULT\x10\x1e\x12\x1e\n\x1aVMSTAT_WORKINGSET_ACTIVATE\x10\x1f\x12!\n\x1dVMSTAT_WORKINGSET_NODERECLAIM\x10 \x12(\n$VMSTAT_NR_ANON_TRANSPARENT_HUGEPAGES\x10!\x12\x16\n\x12VMSTAT_NR_FREE_CMA\x10\"\x12\x17\n\x13VMSTAT_NR_SWAPCACHE\x10#\x12\x1d\n\x19VMSTAT_NR_DIRTY_THRESHOLD\x10$\x12(\n$VMSTAT_NR_DIRTY_BACKGROUND_THRESHOLD\x10%\x12\x11\n\rVMSTAT_PGPGIN\x10&\x12\x12\n\x0eVMSTAT_PGPGOUT\x10\'\x12\x17\n\x13VMSTAT_PGPGOUTCLEAN\x10(\x12\x11\n\rVMSTAT_PSWPIN\x10)\x12\x12\n\x0eVMSTAT_PSWPOUT\x10*\x12\x16\n\x12VMSTAT_PGALLOC_DMA\x10+\x12\x19\n\x15VMSTAT_PGALLOC_NORMAL\x10,\x12\x1a\n\x16VMSTAT_PGALLOC_MOVABLE\x10-\x12\x11\n\rVMSTAT_PGFREE\x10.\x12\x15\n\x11VMSTAT_PGACTIVATE\x10/\x12\x17\n\x13VMSTAT_PGDEACTIVATE\x10\x30\x12\x12\n\x0eVMSTAT_PGFAULT\x10\x31\x12\x15\n\x11VMSTAT_PGMAJFAULT\x10\x32\x12\x17\n\x13VMSTAT_PGREFILL_DMA\x10\x33\x12\x1a\n\x16VMSTAT_PGREFILL_NORMAL\x10\x34\x12\x1b\n\x17VMSTAT_PGREFILL_MOVABLE\x10\x35\x12\x1d\n\x19VMSTAT_PGSTEAL_KSWAPD_DMA\x10\x36\x12 \n\x1cVMSTAT_PGSTEAL_KSWAPD_NORMAL\x10\x37\x12!\n\x1dVMSTAT_PGSTEAL_KSWAPD_MOVABLE\x10\x38\x12\x1d\n\x19VMSTAT_PGSTEAL_DIRECT_DMA\x10\x39\x12 \n\x1cVMSTAT_PGSTEAL_DIRECT_NORMAL\x10:\x12!\n\x1dVMSTAT_PGSTEAL_DIRECT_MOVABLE\x10;\x12\x1c\n\x18VMSTAT_PGSCAN_KSWAPD_DMA\x10<\x12\x1f\n\x1bVMSTAT_PGSCAN_KSWAPD_NORMAL\x10=\x12 \n\x1cVMSTAT_PGSCAN_KSWAPD_MOVABLE\x10>\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*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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.perfetto_trace_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z)github.com/google/perfetto/perfetto_proto' + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['gpu_counter_descriptor']._loaded_options = None + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['gpu_counter_descriptor']._serialized_options = b'(\001' + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['track_event_descriptor']._loaded_options = None + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['track_event_descriptor']._serialized_options = b'(\001' + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['ftrace_descriptor']._loaded_options = None + _globals['_DATASOURCEDESCRIPTOR'].fields_by_name['ftrace_descriptor']._serialized_options = b'(\001' + _globals['_FTRACECONFIG'].fields_by_name['initialize_ksyms_synchronously_for_testing']._loaded_options = None + _globals['_FTRACECONFIG'].fields_by_name['initialize_ksyms_synchronously_for_testing']._serialized_options = b'\030\001' + _globals['_PROCESSSTATSCONFIG_QUIRKS'].values_by_name["DISABLE_INITIAL_DUMP"]._loaded_options = None + _globals['_PROCESSSTATSCONFIG_QUIRKS'].values_by_name["DISABLE_INITIAL_DUMP"]._serialized_options = b'\010\001' + _globals['_DATASOURCECONFIG'].fields_by_name['ftrace_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['ftrace_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['inode_file_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['inode_file_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['process_stats_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['process_stats_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['sys_stats_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['sys_stats_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['heapprofd_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['heapprofd_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['java_hprof_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['java_hprof_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_power_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_power_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_log_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_log_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['gpu_counter_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['gpu_counter_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_game_intervention_list_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_game_intervention_list_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['packages_list_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['packages_list_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['perf_event_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['perf_event_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['vulkan_memory_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['vulkan_memory_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['track_event_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['track_event_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_polled_state_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_polled_state_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_system_property_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_system_property_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['statsd_tracing_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['statsd_tracing_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['v8_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['v8_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['network_packet_trace_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['network_packet_trace_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['surfaceflinger_layers_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['surfaceflinger_layers_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['surfaceflinger_transactions_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['surfaceflinger_transactions_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_sdk_sysprop_guard_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_sdk_sysprop_guard_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['etw_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['etw_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['protolog_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['protolog_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['android_input_event_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['android_input_event_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['pixel_modem_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['pixel_modem_config']._serialized_options = b'(\001' + _globals['_DATASOURCECONFIG'].fields_by_name['windowmanager_config']._loaded_options = None + _globals['_DATASOURCECONFIG'].fields_by_name['windowmanager_config']._serialized_options = b'(\001' + _globals['_TRACECONFIG_GUARDRAILOVERRIDES'].fields_by_name['max_upload_per_day_bytes']._loaded_options = None + _globals['_TRACECONFIG_GUARDRAILOVERRIDES'].fields_by_name['max_upload_per_day_bytes']._serialized_options = b'\030\001' + _globals['_TRACECONFIG_INCIDENTREPORTCONFIG'].fields_by_name['skip_dropbox']._loaded_options = None + _globals['_TRACECONFIG_INCIDENTREPORTCONFIG'].fields_by_name['skip_dropbox']._serialized_options = b'\030\001' + _globals['_TRACECONFIG'].fields_by_name['trace_uuid_msb']._loaded_options = None + _globals['_TRACECONFIG'].fields_by_name['trace_uuid_msb']._serialized_options = b'\030\001' + _globals['_TRACECONFIG'].fields_by_name['trace_uuid_lsb']._loaded_options = None + _globals['_TRACECONFIG'].fields_by_name['trace_uuid_lsb']._serialized_options = b'\030\001' + _globals['_TRACESTATS_WRITERSTATS'].fields_by_name['chunk_payload_histogram_counts']._loaded_options = None + _globals['_TRACESTATS_WRITERSTATS'].fields_by_name['chunk_payload_histogram_counts']._serialized_options = b'\020\001' + _globals['_TRACESTATS_WRITERSTATS'].fields_by_name['chunk_payload_histogram_sum']._loaded_options = None + _globals['_TRACESTATS_WRITERSTATS'].fields_by_name['chunk_payload_histogram_sum']._serialized_options = b'\020\001' + _globals['_NETWORKPACKETBUNDLE'].fields_by_name['packet_timestamps']._loaded_options = None + _globals['_NETWORKPACKETBUNDLE'].fields_by_name['packet_timestamps']._serialized_options = b'\020\001' + _globals['_NETWORKPACKETBUNDLE'].fields_by_name['packet_lengths']._loaded_options = None + _globals['_NETWORKPACKETBUNDLE'].fields_by_name['packet_lengths']._serialized_options = b'\020\001' + _globals['_INPUTWINDOWINFOPROTO'].fields_by_name['can_receive_keys']._loaded_options = None + _globals['_INPUTWINDOWINFOPROTO'].fields_by_name['can_receive_keys']._serialized_options = b'\030\001' + _globals['_INPUTWINDOWINFOPROTO'].fields_by_name['window_x_scale']._loaded_options = None + _globals['_INPUTWINDOWINFOPROTO'].fields_by_name['window_x_scale']._serialized_options = b'\030\001' + _globals['_INPUTWINDOWINFOPROTO'].fields_by_name['window_y_scale']._loaded_options = None + _globals['_INPUTWINDOWINFOPROTO'].fields_by_name['window_y_scale']._serialized_options = b'\030\001' + _globals['_COLORTRANSFORMPROTO'].fields_by_name['val']._loaded_options = None + _globals['_COLORTRANSFORMPROTO'].fields_by_name['val']._serialized_options = b'\020\001' + _globals['_LAYERPROTO_METADATAENTRY']._loaded_options = None + _globals['_LAYERPROTO_METADATAENTRY']._serialized_options = b'8\001' + _globals['_LAYERPROTO'].fields_by_name['children']._loaded_options = None + _globals['_LAYERPROTO'].fields_by_name['children']._serialized_options = b'\020\001' + _globals['_LAYERPROTO'].fields_by_name['relatives']._loaded_options = None + _globals['_LAYERPROTO'].fields_by_name['relatives']._serialized_options = b'\020\001' + _globals['_LAYERPROTO'].fields_by_name['final_crop']._loaded_options = None + _globals['_LAYERPROTO'].fields_by_name['final_crop']._serialized_options = b'\030\001' + _globals['_LAYERPROTO'].fields_by_name['window_type']._loaded_options = None + _globals['_LAYERPROTO'].fields_by_name['window_type']._serialized_options = b'\030\001' + _globals['_LAYERPROTO'].fields_by_name['app_id']._loaded_options = None + _globals['_LAYERPROTO'].fields_by_name['app_id']._serialized_options = b'\030\001' + _globals['_CHROMEEVENTBUNDLE'].fields_by_name['trace_events']._loaded_options = None + _globals['_CHROMEEVENTBUNDLE'].fields_by_name['trace_events']._serialized_options = b'\030\001' + _globals['_CHROMEEVENTBUNDLE'].fields_by_name['string_table']._loaded_options = None + _globals['_CHROMEEVENTBUNDLE'].fields_by_name['string_table']._serialized_options = b'\030\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_timestamp']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_timestamp']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_prev_state']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_prev_state']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_next_pid']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_next_pid']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_next_prio']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_next_prio']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_next_comm_index']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['switch_next_comm_index']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_timestamp']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_timestamp']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_pid']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_pid']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_target_cpu']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_target_cpu']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_prio']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_prio']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_comm_index']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_comm_index']._serialized_options = b'\020\001' + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_common_flags']._loaded_options = None + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED'].fields_by_name['waking_common_flags']._serialized_options = b'\020\001' + _globals['_GPURENDERSTAGEEVENT'].fields_by_name['specifications']._loaded_options = None + _globals['_GPURENDERSTAGEEVENT'].fields_by_name['specifications']._serialized_options = b'\030\001' + _globals['_GPURENDERSTAGEEVENT'].fields_by_name['hw_queue_id']._loaded_options = None + _globals['_GPURENDERSTAGEEVENT'].fields_by_name['hw_queue_id']._serialized_options = b'\030\001' + _globals['_GPURENDERSTAGEEVENT'].fields_by_name['stage_id']._loaded_options = None + _globals['_GPURENDERSTAGEEVENT'].fields_by_name['stage_id']._serialized_options = b'\030\001' + _globals['_TRACKEVENT'].fields_by_name['flow_ids_old']._loaded_options = None + _globals['_TRACKEVENT'].fields_by_name['flow_ids_old']._serialized_options = b'\030\001' + _globals['_TRACKEVENT'].fields_by_name['terminating_flow_ids_old']._loaded_options = None + _globals['_TRACKEVENT'].fields_by_name['terminating_flow_ids_old']._serialized_options = b'\030\001' + _globals['_HEAPGRAPHROOT'].fields_by_name['object_ids']._loaded_options = None + _globals['_HEAPGRAPHROOT'].fields_by_name['object_ids']._serialized_options = b'\020\001' + _globals['_HEAPGRAPHTYPE'].fields_by_name['reference_field_id']._loaded_options = None + _globals['_HEAPGRAPHTYPE'].fields_by_name['reference_field_id']._serialized_options = b'\020\001' + _globals['_HEAPGRAPHOBJECT'].fields_by_name['reference_field_id']._loaded_options = None + _globals['_HEAPGRAPHOBJECT'].fields_by_name['reference_field_id']._serialized_options = b'\020\001' + _globals['_HEAPGRAPHOBJECT'].fields_by_name['reference_object_id']._loaded_options = None + _globals['_HEAPGRAPHOBJECT'].fields_by_name['reference_object_id']._serialized_options = b'\020\001' + _globals['_CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY']._loaded_options = None + _globals['_CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY']._serialized_options = b'8\001' + _globals['_CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY']._loaded_options = None + _globals['_CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY']._serialized_options = b'8\001' + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY']._loaded_options = None + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY']._serialized_options = b'8\001' + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY']._loaded_options = None + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY']._serialized_options = b'8\001' + _globals['_SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._loaded_options = None + _globals['_SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._serialized_options = b'8\001' + _globals['_PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._loaded_options = None + _globals['_PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._serialized_options = b'8\001' + _globals['_BUILTINCLOCK']._serialized_start=197223 + _globals['_BUILTINCLOCK']._serialized_end=197514 + _globals['_ANDROIDLOGID']._serialized_start=197517 + _globals['_ANDROIDLOGID']._serialized_end=197659 + _globals['_ANDROIDLOGPRIORITY']._serialized_start=197662 + _globals['_ANDROIDLOGPRIORITY']._serialized_end=197817 + _globals['_PROTOLOGLEVEL']._serialized_start=197820 + _globals['_PROTOLOGLEVEL']._serialized_end=198019 + _globals['_ATOMID']._serialized_start=198023 + _globals['_ATOMID']._serialized_end=232665 + _globals['_MEMINFOCOUNTERS']._serialized_start=232668 + _globals['_MEMINFOCOUNTERS']._serialized_end=233601 + _globals['_VMSTATCOUNTERS']._serialized_start=233604 + _globals['_VMSTATCOUNTERS']._serialized_end=239237 + _globals['_TRAFFICDIRECTION']._serialized_start=239239 + _globals['_TRAFFICDIRECTION']._serialized_end=239311 + _globals['_TRUSTEDOVERLAY']._serialized_start=239313 + _globals['_TRUSTEDOVERLAY']._serialized_end=239367 + _globals['_HWCCOMPOSITIONTYPE']._serialized_start=239370 + _globals['_HWCCOMPOSITIONTYPE']._serialized_end=239561 + _globals['_FTRACEPARSESTATUS']._serialized_start=239564 + _globals['_FTRACEPARSESTATUS']._serialized_end=240276 + _globals['_FTRACECLOCK']._serialized_start=240279 + _globals['_FTRACECLOCK']._serialized_end=240424 + _globals['_CHROMECOMPOSITORSCHEDULERACTION']._serialized_start=240427 + _globals['_CHROMECOMPOSITORSCHEDULERACTION']._serialized_end=241115 + _globals['_CHROMERAILMODE']._serialized_start=241117 + _globals['_CHROMERAILMODE']._serialized_end=241242 + _globals['_FTRACEDESCRIPTOR']._serialized_start=64 + _globals['_FTRACEDESCRIPTOR']._serialized_end=212 + _globals['_FTRACEDESCRIPTOR_ATRACECATEGORY']._serialized_start=161 + _globals['_FTRACEDESCRIPTOR_ATRACECATEGORY']._serialized_end=212 + _globals['_GPUCOUNTERDESCRIPTOR']._serialized_start=215 + _globals['_GPUCOUNTERDESCRIPTOR']._serialized_end=1677 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERSPEC']._serialized_start=484 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERSPEC']._serialized_end=882 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERBLOCK']._serialized_start=884 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERBLOCK']._serialized_end=999 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERGROUP']._serialized_start=1001 + _globals['_GPUCOUNTERDESCRIPTOR_GPUCOUNTERGROUP']._serialized_end=1118 + _globals['_GPUCOUNTERDESCRIPTOR_MEASUREUNIT']._serialized_start=1121 + _globals['_GPUCOUNTERDESCRIPTOR_MEASUREUNIT']._serialized_end=1677 + _globals['_TRACKEVENTCATEGORY']._serialized_start=1679 + _globals['_TRACKEVENTCATEGORY']._serialized_end=1748 + _globals['_TRACKEVENTDESCRIPTOR']._serialized_start=1750 + _globals['_TRACKEVENTDESCRIPTOR']._serialized_end=1839 + _globals['_DATASOURCEDESCRIPTOR']._serialized_start=1842 + _globals['_DATASOURCEDESCRIPTOR']._serialized_end=2224 + _globals['_TRACINGSERVICESTATE']._serialized_start=2227 + _globals['_TRACINGSERVICESTATE']._serialized_end=3034 + _globals['_TRACINGSERVICESTATE_PRODUCER']._serialized_start=2586 + _globals['_TRACINGSERVICESTATE_PRODUCER']._serialized_end=2669 + _globals['_TRACINGSERVICESTATE_DATASOURCE']._serialized_start=2671 + _globals['_TRACINGSERVICESTATE_DATASOURCE']._serialized_end=2766 + _globals['_TRACINGSERVICESTATE_TRACINGSESSION']._serialized_start=2769 + _globals['_TRACINGSERVICESTATE_TRACINGSESSION']._serialized_end=3034 + _globals['_ANDROIDGAMEINTERVENTIONLISTCONFIG']._serialized_start=3036 + _globals['_ANDROIDGAMEINTERVENTIONLISTCONFIG']._serialized_end=3100 + _globals['_ANDROIDINPUTEVENTCONFIG']._serialized_start=3103 + _globals['_ANDROIDINPUTEVENTCONFIG']._serialized_end=3698 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACERULE']._serialized_start=3345 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACERULE']._serialized_end=3545 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACEMODE']._serialized_start=3547 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACEMODE']._serialized_end=3610 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACELEVEL']._serialized_start=3612 + _globals['_ANDROIDINPUTEVENTCONFIG_TRACELEVEL']._serialized_end=3698 + _globals['_ANDROIDLOGCONFIG']._serialized_start=3701 + _globals['_ANDROIDLOGCONFIG']._serialized_end=3849 + _globals['_ANDROIDPOLLEDSTATECONFIG']._serialized_start=3851 + _globals['_ANDROIDPOLLEDSTATECONFIG']._serialized_end=3894 + _globals['_ANDROIDSDKSYSPROPGUARDCONFIG']._serialized_start=3897 + _globals['_ANDROIDSDKSYSPROPGUARDCONFIG']._serialized_end=4035 + _globals['_ANDROIDSYSTEMPROPERTYCONFIG']._serialized_start=4037 + _globals['_ANDROIDSYSTEMPROPERTYCONFIG']._serialized_end=4106 + _globals['_NETWORKPACKETTRACECONFIG']._serialized_start=4109 + _globals['_NETWORKPACKETTRACECONFIG']._serialized_end=4280 + _globals['_PACKAGESLISTCONFIG']._serialized_start=4282 + _globals['_PACKAGESLISTCONFIG']._serialized_end=4331 + _globals['_PIXELMODEMCONFIG']._serialized_start=4334 + _globals['_PIXELMODEMCONFIG']._serialized_end=4594 + _globals['_PIXELMODEMCONFIG_EVENTGROUP']._serialized_start=4486 + _globals['_PIXELMODEMCONFIG_EVENTGROUP']._serialized_end=4594 + _globals['_PROTOLOGCONFIG']._serialized_start=4597 + _globals['_PROTOLOGCONFIG']._serialized_end=4845 + _globals['_PROTOLOGCONFIG_TRACINGMODE']._serialized_start=4803 + _globals['_PROTOLOGCONFIG_TRACINGMODE']._serialized_end=4845 + _globals['_PROTOLOGGROUP']._serialized_start=4847 + _globals['_PROTOLOGGROUP']._serialized_end=4960 + _globals['_SURFACEFLINGERLAYERSCONFIG']._serialized_start=4963 + _globals['_SURFACEFLINGERLAYERSCONFIG']._serialized_end=5459 + _globals['_SURFACEFLINGERLAYERSCONFIG_MODE']._serialized_start=5133 + _globals['_SURFACEFLINGERLAYERSCONFIG_MODE']._serialized_end=5248 + _globals['_SURFACEFLINGERLAYERSCONFIG_TRACEFLAG']._serialized_start=5251 + _globals['_SURFACEFLINGERLAYERSCONFIG_TRACEFLAG']._serialized_end=5459 + _globals['_SURFACEFLINGERTRANSACTIONSCONFIG']._serialized_start=5462 + _globals['_SURFACEFLINGERTRANSACTIONSCONFIG']._serialized_end=5634 + _globals['_SURFACEFLINGERTRANSACTIONSCONFIG_MODE']._serialized_start=5568 + _globals['_SURFACEFLINGERTRANSACTIONSCONFIG_MODE']._serialized_end=5634 + _globals['_WINDOWMANAGERCONFIG']._serialized_start=5637 + _globals['_WINDOWMANAGERCONFIG']._serialized_end=6040 + _globals['_WINDOWMANAGERCONFIG_LOGFREQUENCY']._serialized_start=5801 + _globals['_WINDOWMANAGERCONFIG_LOGFREQUENCY']._serialized_end=5933 + _globals['_WINDOWMANAGERCONFIG_LOGLEVEL']._serialized_start=5935 + _globals['_WINDOWMANAGERCONFIG_LOGLEVEL']._serialized_end=6040 + _globals['_CHROMECONFIG']._serialized_start=6043 + _globals['_CHROMECONFIG']._serialized_end=6317 + _globals['_CHROMECONFIG_CLIENTPRIORITY']._serialized_start=6252 + _globals['_CHROMECONFIG_CLIENTPRIORITY']._serialized_end=6317 + _globals['_V8CONFIG']._serialized_start=6319 + _globals['_V8CONFIG']._serialized_end=6383 + _globals['_ETWCONFIG']._serialized_start=6385 + _globals['_ETWCONFIG']._serialized_end=6500 + _globals['_ETWCONFIG_KERNELFLAG']._serialized_start=6459 + _globals['_ETWCONFIG_KERNELFLAG']._serialized_end=6500 + _globals['_FTRACECONFIG']._serialized_start=6503 + _globals['_FTRACECONFIG']._serialized_end=7673 + _globals['_FTRACECONFIG_COMPACTSCHEDCONFIG']._serialized_start=7289 + _globals['_FTRACECONFIG_COMPACTSCHEDCONFIG']._serialized_end=7326 + _globals['_FTRACECONFIG_PRINTFILTER']._serialized_start=7329 + _globals['_FTRACECONFIG_PRINTFILTER']._serialized_end=7587 + _globals['_FTRACECONFIG_PRINTFILTER_RULE']._serialized_start=7408 + _globals['_FTRACECONFIG_PRINTFILTER_RULE']._serialized_end=7587 + _globals['_FTRACECONFIG_PRINTFILTER_RULE_ATRACEMESSAGE']._serialized_start=7533 + _globals['_FTRACECONFIG_PRINTFILTER_RULE_ATRACEMESSAGE']._serialized_end=7578 + _globals['_FTRACECONFIG_KSYMSMEMPOLICY']._serialized_start=7589 + _globals['_FTRACECONFIG_KSYMSMEMPOLICY']._serialized_end=7673 + _globals['_GPUCOUNTERCONFIG']._serialized_start=7675 + _globals['_GPUCOUNTERCONFIG']._serialized_end=7795 + _globals['_VULKANMEMORYCONFIG']._serialized_start=7797 + _globals['_VULKANMEMORYCONFIG']._serialized_end=7887 + _globals['_INODEFILECONFIG']._serialized_start=7890 + _globals['_INODEFILECONFIG']._serialized_end=8181 + _globals['_INODEFILECONFIG_MOUNTPOINTMAPPINGENTRY']._serialized_start=8117 + _globals['_INODEFILECONFIG_MOUNTPOINTMAPPINGENTRY']._serialized_end=8181 + _globals['_CONSOLECONFIG']._serialized_start=8184 + _globals['_CONSOLECONFIG']._serialized_end=8349 + _globals['_CONSOLECONFIG_OUTPUT']._serialized_start=8279 + _globals['_CONSOLECONFIG_OUTPUT']._serialized_end=8349 + _globals['_INTERCEPTORCONFIG']._serialized_start=8351 + _globals['_INTERCEPTORCONFIG']._serialized_end=8440 + _globals['_ANDROIDPOWERCONFIG']._serialized_start=8443 + _globals['_ANDROIDPOWERCONFIG']._serialized_end=8891 + _globals['_ANDROIDPOWERCONFIG_BATTERYCOUNTERS']._serialized_start=8684 + _globals['_ANDROIDPOWERCONFIG_BATTERYCOUNTERS']._serialized_end=8891 + _globals['_PROCESSSTATSCONFIG']._serialized_start=8894 + _globals['_PROCESSSTATSCONFIG']._serialized_end=9316 + _globals['_PROCESSSTATSCONFIG_QUIRKS']._serialized_start=9219 + _globals['_PROCESSSTATSCONFIG_QUIRKS']._serialized_end=9304 + _globals['_HEAPPROFDCONFIG']._serialized_start=9319 + _globals['_HEAPPROFDCONFIG']._serialized_end=10163 + _globals['_HEAPPROFDCONFIG_CONTINUOUSDUMPCONFIG']._serialized_start=10086 + _globals['_HEAPPROFDCONFIG_CONTINUOUSDUMPCONFIG']._serialized_end=10157 + _globals['_JAVAHPROFCONFIG']._serialized_start=10166 + _globals['_JAVAHPROFCONFIG']._serialized_end=10519 + _globals['_JAVAHPROFCONFIG_CONTINUOUSDUMPCONFIG']._serialized_start=10415 + _globals['_JAVAHPROFCONFIG_CONTINUOUSDUMPCONFIG']._serialized_end=10519 + _globals['_PERFEVENTS']._serialized_start=10522 + _globals['_PERFEVENTS']._serialized_end=11617 + _globals['_PERFEVENTS_TIMEBASE']._serialized_start=10537 + _globals['_PERFEVENTS_TIMEBASE']._serialized_end=10862 + _globals['_PERFEVENTS_TRACEPOINT']._serialized_start=10864 + _globals['_PERFEVENTS_TRACEPOINT']._serialized_end=10906 + _globals['_PERFEVENTS_RAWEVENT']._serialized_start=10908 + _globals['_PERFEVENTS_RAWEVENT']._serialized_end=10982 + _globals['_PERFEVENTS_COUNTER']._serialized_start=10985 + _globals['_PERFEVENTS_COUNTER']._serialized_end=11473 + _globals['_PERFEVENTS_PERFCLOCK']._serialized_start=11476 + _globals['_PERFEVENTS_PERFCLOCK']._serialized_end=11617 + _globals['_PERFEVENTCONFIG']._serialized_start=11620 + _globals['_PERFEVENTCONFIG']._serialized_end=12603 + _globals['_PERFEVENTCONFIG_CALLSTACKSAMPLING']._serialized_start=12202 + _globals['_PERFEVENTCONFIG_CALLSTACKSAMPLING']._serialized_end=12365 + _globals['_PERFEVENTCONFIG_SCOPE']._serialized_start=12368 + _globals['_PERFEVENTCONFIG_SCOPE']._serialized_end=12528 + _globals['_PERFEVENTCONFIG_UNWINDMODE']._serialized_start=12530 + _globals['_PERFEVENTCONFIG_UNWINDMODE']._serialized_end=12597 + _globals['_STATSDTRACINGCONFIG']._serialized_start=12606 + _globals['_STATSDTRACINGCONFIG']._serialized_end=12760 + _globals['_STATSDPULLATOMCONFIG']._serialized_start=12763 + _globals['_STATSDPULLATOMCONFIG']._serialized_end=12903 + _globals['_SYSSTATSCONFIG']._serialized_start=12906 + _globals['_SYSSTATSCONFIG']._serialized_end=13499 + _globals['_SYSSTATSCONFIG_STATCOUNTERS']._serialized_start=13376 + _globals['_SYSSTATSCONFIG_STATCOUNTERS']._serialized_end=13499 + _globals['_SYSTEMINFOCONFIG']._serialized_start=13501 + _globals['_SYSTEMINFOCONFIG']._serialized_end=13519 + _globals['_TESTCONFIG']._serialized_start=13522 + _globals['_TESTCONFIG']._serialized_end=14047 + _globals['_TESTCONFIG_DUMMYFIELDS']._serialized_start=13724 + _globals['_TESTCONFIG_DUMMYFIELDS']._serialized_end=14047 + _globals['_TRACKEVENTCONFIG']._serialized_start=14050 + _globals['_TRACKEVENTCONFIG']._serialized_end=14352 + _globals['_DATASOURCECONFIG']._serialized_start=14355 + _globals['_DATASOURCECONFIG']._serialized_end=16973 + _globals['_DATASOURCECONFIG_SESSIONINITIATOR']._serialized_start=16869 + _globals['_DATASOURCECONFIG_SESSIONINITIATOR']._serialized_end=16960 + _globals['_TRACECONFIG']._serialized_start=16976 + _globals['_TRACECONFIG']._serialized_end=21561 + _globals['_TRACECONFIG_BUFFERCONFIG']._serialized_start=18695 + _globals['_TRACECONFIG_BUFFERCONFIG']._serialized_end=18929 + _globals['_TRACECONFIG_BUFFERCONFIG_FILLPOLICY']._serialized_start=18858 + _globals['_TRACECONFIG_BUFFERCONFIG_FILLPOLICY']._serialized_end=18917 + _globals['_TRACECONFIG_DATASOURCE']._serialized_start=18932 + _globals['_TRACECONFIG_DATASOURCE']._serialized_end=19061 + _globals['_TRACECONFIG_BUILTINDATASOURCE']._serialized_start=19064 + _globals['_TRACECONFIG_BUILTINDATASOURCE']._serialized_end=19383 + _globals['_TRACECONFIG_PRODUCERCONFIG']._serialized_start=19385 + _globals['_TRACECONFIG_PRODUCERCONFIG']._serialized_end=19467 + _globals['_TRACECONFIG_STATSDMETADATA']._serialized_start=19470 + _globals['_TRACECONFIG_STATSDMETADATA']._serialized_end=19612 + _globals['_TRACECONFIG_GUARDRAILOVERRIDES']._serialized_start=19614 + _globals['_TRACECONFIG_GUARDRAILOVERRIDES']._serialized_end=19708 + _globals['_TRACECONFIG_TRIGGERCONFIG']._serialized_start=19711 + _globals['_TRACECONFIG_TRIGGERCONFIG']._serialized_end=20169 + _globals['_TRACECONFIG_TRIGGERCONFIG_TRIGGER']._serialized_start=19945 + _globals['_TRACECONFIG_TRIGGERCONFIG_TRIGGER']._serialized_end=20068 + _globals['_TRACECONFIG_TRIGGERCONFIG_TRIGGERMODE']._serialized_start=20070 + _globals['_TRACECONFIG_TRIGGERCONFIG_TRIGGERMODE']._serialized_end=20163 + _globals['_TRACECONFIG_INCREMENTALSTATECONFIG']._serialized_start=20171 + _globals['_TRACECONFIG_INCREMENTALSTATECONFIG']._serialized_end=20220 + _globals['_TRACECONFIG_INCIDENTREPORTCONFIG']._serialized_start=20223 + _globals['_TRACECONFIG_INCIDENTREPORTCONFIG']._serialized_end=20374 + _globals['_TRACECONFIG_TRACEFILTER']._serialized_start=20377 + _globals['_TRACECONFIG_TRACEFILTER']._serialized_end=20974 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERRULE']._serialized_start=20521 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERRULE']._serialized_end=20675 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERCHAIN']._serialized_start=20677 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERCHAIN']._serialized_end=20770 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERPOLICY']._serialized_start=20773 + _globals['_TRACECONFIG_TRACEFILTER_STRINGFILTERPOLICY']._serialized_end=20974 + _globals['_TRACECONFIG_ANDROIDREPORTCONFIG']._serialized_start=20977 + _globals['_TRACECONFIG_ANDROIDREPORTCONFIG']._serialized_end=21128 + _globals['_TRACECONFIG_CMDTRACESTARTDELAY']._serialized_start=21130 + _globals['_TRACECONFIG_CMDTRACESTARTDELAY']._serialized_end=21194 + _globals['_TRACECONFIG_SESSIONSEMAPHORE']._serialized_start=21196 + _globals['_TRACECONFIG_SESSIONSEMAPHORE']._serialized_end=21261 + _globals['_TRACECONFIG_LOCKDOWNMODEOPERATION']._serialized_start=21263 + _globals['_TRACECONFIG_LOCKDOWNMODEOPERATION']._serialized_end=21348 + _globals['_TRACECONFIG_COMPRESSIONTYPE']._serialized_start=21350 + _globals['_TRACECONFIG_COMPRESSIONTYPE']._serialized_end=21431 + _globals['_TRACECONFIG_STATSDLOGGING']._serialized_start=21433 + _globals['_TRACECONFIG_STATSDLOGGING']._serialized_end=21537 + _globals['_TRACESTATS']._serialized_start=21564 + _globals['_TRACESTATS']._serialized_end=23117 + _globals['_TRACESTATS_BUFFERSTATS']._serialized_start=22199 + _globals['_TRACESTATS_BUFFERSTATS']._serialized_end=22721 + _globals['_TRACESTATS_WRITERSTATS']._serialized_start=22724 + _globals['_TRACESTATS_WRITERSTATS']._serialized_end=22859 + _globals['_TRACESTATS_FILTERSTATS']._serialized_start=22862 + _globals['_TRACESTATS_FILTERSTATS']._serialized_end=23016 + _globals['_TRACESTATS_FINALFLUSHOUTCOME']._serialized_start=23018 + _globals['_TRACESTATS_FINALFLUSHOUTCOME']._serialized_end=23117 + _globals['_ANDROIDGAMEINTERVENTIONLIST']._serialized_start=23120 + _globals['_ANDROIDGAMEINTERVENTIONLIST']._serialized_end=23519 + _globals['_ANDROIDGAMEINTERVENTIONLIST_GAMEMODEINFO']._serialized_start=23277 + _globals['_ANDROIDGAMEINTERVENTIONLIST_GAMEMODEINFO']._serialized_end=23367 + _globals['_ANDROIDGAMEINTERVENTIONLIST_GAMEPACKAGEINFO']._serialized_start=23370 + _globals['_ANDROIDGAMEINTERVENTIONLIST_GAMEPACKAGEINFO']._serialized_end=23519 + _globals['_ANDROIDLOGPACKET']._serialized_start=23522 + _globals['_ANDROIDLOGPACKET']._serialized_end=24084 + _globals['_ANDROIDLOGPACKET_LOGEVENT']._serialized_start=23659 + _globals['_ANDROIDLOGPACKET_LOGEVENT']._serialized_end=24015 + _globals['_ANDROIDLOGPACKET_LOGEVENT_ARG']._serialized_start=23919 + _globals['_ANDROIDLOGPACKET_LOGEVENT_ARG']._serialized_end=24015 + _globals['_ANDROIDLOGPACKET_STATS']._serialized_start=24017 + _globals['_ANDROIDLOGPACKET_STATS']._serialized_end=24084 + _globals['_ANDROIDSYSTEMPROPERTY']._serialized_start=24087 + _globals['_ANDROIDSYSTEMPROPERTY']._serialized_end=24226 + _globals['_ANDROIDSYSTEMPROPERTY_PROPERTYVALUE']._serialized_start=24182 + _globals['_ANDROIDSYSTEMPROPERTY_PROPERTYVALUE']._serialized_end=24226 + _globals['_ANDROIDCAMERAFRAMEEVENT']._serialized_start=24229 + _globals['_ANDROIDCAMERAFRAMEEVENT']._serialized_end=25127 + _globals['_ANDROIDCAMERAFRAMEEVENT_CAMERANODEPROCESSINGDETAILS']._serialized_start=24816 + _globals['_ANDROIDCAMERAFRAMEEVENT_CAMERANODEPROCESSINGDETAILS']._serialized_end=24949 + _globals['_ANDROIDCAMERAFRAMEEVENT_CAPTURERESULTSTATUS']._serialized_start=24952 + _globals['_ANDROIDCAMERAFRAMEEVENT_CAPTURERESULTSTATUS']._serialized_end=25127 + _globals['_ANDROIDCAMERASESSIONSTATS']._serialized_start=25130 + _globals['_ANDROIDCAMERASESSIONSTATS']._serialized_end=25697 + _globals['_ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH']._serialized_start=25251 + _globals['_ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH']._serialized_end=25697 + _globals['_ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERANODE']._serialized_start=25430 + _globals['_ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERANODE']._serialized_end=25548 + _globals['_ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERAEDGE']._serialized_start=25551 + _globals['_ANDROIDCAMERASESSIONSTATS_CAMERAGRAPH_CAMERAEDGE']._serialized_end=25697 + _globals['_FRAMETIMELINEEVENT']._serialized_start=25700 + _globals['_FRAMETIMELINEEVENT']._serialized_end=27897 + _globals['_FRAMETIMELINEEVENT_EXPECTEDSURFACEFRAMESTART']._serialized_start=26193 + _globals['_FRAMETIMELINEEVENT_EXPECTEDSURFACEFRAMESTART']._serialized_end=26313 + _globals['_FRAMETIMELINEEVENT_ACTUALSURFACEFRAMESTART']._serialized_start=26316 + _globals['_FRAMETIMELINEEVENT_ACTUALSURFACEFRAMESTART']._serialized_end=26751 + _globals['_FRAMETIMELINEEVENT_EXPECTEDDISPLAYFRAMESTART']._serialized_start=26753 + _globals['_FRAMETIMELINEEVENT_EXPECTEDDISPLAYFRAMESTART']._serialized_end=26824 + _globals['_FRAMETIMELINEEVENT_ACTUALDISPLAYFRAMESTART']._serialized_start=26827 + _globals['_FRAMETIMELINEEVENT_ACTUALDISPLAYFRAMESTART']._serialized_end=27194 + _globals['_FRAMETIMELINEEVENT_FRAMEEND']._serialized_start=27196 + _globals['_FRAMETIMELINEEVENT_FRAMEEND']._serialized_end=27222 + _globals['_FRAMETIMELINEEVENT_JANKTYPE']._serialized_start=27225 + _globals['_FRAMETIMELINEEVENT_JANKTYPE']._serialized_end=27529 + _globals['_FRAMETIMELINEEVENT_JANKSEVERITYTYPE']._serialized_start=27531 + _globals['_FRAMETIMELINEEVENT_JANKSEVERITYTYPE']._serialized_end=27631 + _globals['_FRAMETIMELINEEVENT_PRESENTTYPE']._serialized_start=27634 + _globals['_FRAMETIMELINEEVENT_PRESENTTYPE']._serialized_end=27772 + _globals['_FRAMETIMELINEEVENT_PREDICTIONTYPE']._serialized_start=27774 + _globals['_FRAMETIMELINEEVENT_PREDICTIONTYPE']._serialized_end=27888 + _globals['_GPUMEMTOTALEVENT']._serialized_start=27899 + _globals['_GPUMEMTOTALEVENT']._serialized_end=27960 + _globals['_GRAPHICSFRAMEEVENT']._serialized_start=27963 + _globals['_GRAPHICSFRAMEEVENT']._serialized_end=28460 + _globals['_GRAPHICSFRAMEEVENT_BUFFEREVENT']._serialized_start=28057 + _globals['_GRAPHICSFRAMEEVENT_BUFFEREVENT']._serialized_end=28219 + _globals['_GRAPHICSFRAMEEVENT_BUFFEREVENTTYPE']._serialized_start=28222 + _globals['_GRAPHICSFRAMEEVENT_BUFFEREVENTTYPE']._serialized_end=28460 + _globals['_INITIALDISPLAYSTATE']._serialized_start=28462 + _globals['_INITIALDISPLAYSTATE']._serialized_end=28526 + _globals['_NETWORKPACKETEVENT']._serialized_start=28529 + _globals['_NETWORKPACKETEVENT']._serialized_end=28780 + _globals['_NETWORKPACKETBUNDLE']._serialized_start=28783 + _globals['_NETWORKPACKETBUNDLE']._serialized_end=29017 + _globals['_NETWORKPACKETCONTEXT']._serialized_start=29019 + _globals['_NETWORKPACKETCONTEXT']._serialized_end=29104 + _globals['_PACKAGESLIST']._serialized_start=29107 + _globals['_PACKAGESLIST']._serialized_end=29339 + _globals['_PACKAGESLIST_PACKAGEINFO']._serialized_start=29225 + _globals['_PACKAGESLIST_PACKAGEINFO']._serialized_end=29339 + _globals['_PIXELMODEMEVENTS']._serialized_start=29341 + _globals['_PIXELMODEMEVENTS']._serialized_end=29401 + _globals['_PIXELMODEMTOKENDATABASE']._serialized_start=29403 + _globals['_PIXELMODEMTOKENDATABASE']._serialized_end=29446 + _globals['_PROTOLOGMESSAGE']._serialized_start=29449 + _globals['_PROTOLOGMESSAGE']._serialized_end=29604 + _globals['_PROTOLOGVIEWERCONFIG']._serialized_start=29607 + _globals['_PROTOLOGVIEWERCONFIG']._serialized_end=29943 + _globals['_PROTOLOGVIEWERCONFIG_MESSAGEDATA']._serialized_start=29762 + _globals['_PROTOLOGVIEWERCONFIG_MESSAGEDATA']._serialized_end=29895 + _globals['_PROTOLOGVIEWERCONFIG_GROUP']._serialized_start=29897 + _globals['_PROTOLOGVIEWERCONFIG_GROUP']._serialized_end=29943 + _globals['_SHELLTRANSITION']._serialized_start=29946 + _globals['_SHELLTRANSITION']._serialized_end=30483 + _globals['_SHELLTRANSITION_TARGET']._serialized_start=30409 + _globals['_SHELLTRANSITION_TARGET']._serialized_end=30483 + _globals['_SHELLHANDLERMAPPINGS']._serialized_start=30485 + _globals['_SHELLHANDLERMAPPINGS']._serialized_end=30562 + _globals['_SHELLHANDLERMAPPING']._serialized_start=30564 + _globals['_SHELLHANDLERMAPPING']._serialized_end=30611 + _globals['_RECTPROTO']._serialized_start=30613 + _globals['_RECTPROTO']._serialized_end=30682 + _globals['_REGIONPROTO']._serialized_start=30684 + _globals['_REGIONPROTO']._serialized_end=30745 + _globals['_SIZEPROTO']._serialized_start=30747 + _globals['_SIZEPROTO']._serialized_end=30780 + _globals['_TRANSFORMPROTO']._serialized_start=30782 + _globals['_TRANSFORMPROTO']._serialized_end=30868 + _globals['_COLORPROTO']._serialized_start=30870 + _globals['_COLORPROTO']._serialized_end=30926 + _globals['_INPUTWINDOWINFOPROTO']._serialized_start=30929 + _globals['_INPUTWINDOWINFOPROTO']._serialized_end=31504 + _globals['_BLURREGION']._serialized_start=31507 + _globals['_BLURREGION']._serialized_end=31717 + _globals['_COLORTRANSFORMPROTO']._serialized_start=31719 + _globals['_COLORTRANSFORMPROTO']._serialized_end=31757 + _globals['_LAYERSTRACEFILEPROTO']._serialized_start=31760 + _globals['_LAYERSTRACEFILEPROTO']._serialized_end=31976 + _globals['_LAYERSTRACEFILEPROTO_MAGICNUMBER']._serialized_start=31902 + _globals['_LAYERSTRACEFILEPROTO_MAGICNUMBER']._serialized_end=31976 + _globals['_LAYERSSNAPSHOTPROTO']._serialized_start=31979 + _globals['_LAYERSSNAPSHOTPROTO']._serialized_end=32238 + _globals['_LAYERSPROTO']._serialized_start=32240 + _globals['_LAYERSPROTO']._serialized_end=32298 + _globals['_DISPLAYPROTO']._serialized_start=32301 + _globals['_DISPLAYPROTO']._serialized_end=32566 + _globals['_LAYERPROTO']._serialized_start=32569 + _globals['_LAYERPROTO']._serialized_end=34883 + _globals['_LAYERPROTO_METADATAENTRY']._serialized_start=34836 + _globals['_LAYERPROTO_METADATAENTRY']._serialized_end=34883 + _globals['_POSITIONPROTO']._serialized_start=34885 + _globals['_POSITIONPROTO']._serialized_end=34922 + _globals['_FLOATRECTPROTO']._serialized_start=34924 + _globals['_FLOATRECTPROTO']._serialized_end=34998 + _globals['_ACTIVEBUFFERPROTO']._serialized_start=35000 + _globals['_ACTIVEBUFFERPROTO']._serialized_end=35097 + _globals['_BARRIERLAYERPROTO']._serialized_start=35099 + _globals['_BARRIERLAYERPROTO']._serialized_end=35152 + _globals['_TRANSACTIONTRACEFILE']._serialized_start=35155 + _globals['_TRANSACTIONTRACEFILE']._serialized_end=35390 + _globals['_TRANSACTIONTRACEFILE_MAGICNUMBER']._serialized_start=35316 + _globals['_TRANSACTIONTRACEFILE_MAGICNUMBER']._serialized_end=35390 + _globals['_TRANSACTIONTRACEENTRY']._serialized_start=35393 + _globals['_TRANSACTIONTRACEENTRY']._serialized_end=35795 + _globals['_DISPLAYINFO']._serialized_start=35798 + _globals['_DISPLAYINFO']._serialized_end=36132 + _globals['_LAYERCREATIONARGS']._serialized_start=36135 + _globals['_LAYERCREATIONARGS']._serialized_end=36296 + _globals['_TRANSFORM']._serialized_start=36298 + _globals['_TRANSFORM']._serialized_end=36389 + _globals['_TRANSACTIONSTATE']._serialized_start=36392 + _globals['_TRANSACTIONSTATE']._serialized_end=36661 + _globals['_LAYERSTATE']._serialized_start=36664 + _globals['_LAYERSTATE']._serialized_end=40824 + _globals['_LAYERSTATE_MATRIX22']._serialized_start=38045 + _globals['_LAYERSTATE_MATRIX22']._serialized_end=38111 + _globals['_LAYERSTATE_COLOR3']._serialized_start=38113 + _globals['_LAYERSTATE_COLOR3']._serialized_end=38154 + _globals['_LAYERSTATE_BUFFERDATA']._serialized_start=38157 + _globals['_LAYERSTATE_BUFFERDATA']._serialized_end=38945 + _globals['_LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE']._serialized_start=38373 + _globals['_LAYERSTATE_BUFFERDATA_BUFFERDATACHANGE']._serialized_end=38484 + _globals['_LAYERSTATE_BUFFERDATA_PIXELFORMAT']._serialized_start=38487 + _globals['_LAYERSTATE_BUFFERDATA_PIXELFORMAT']._serialized_end=38945 + _globals['_LAYERSTATE_WINDOWINFO']._serialized_start=38948 + _globals['_LAYERSTATE_WINDOWINFO']._serialized_end=39362 + _globals['_LAYERSTATE_CHANGESLSB']._serialized_start=39365 + _globals['_LAYERSTATE_CHANGESLSB']._serialized_end=40125 + _globals['_LAYERSTATE_CHANGESMSB']._serialized_start=40128 + _globals['_LAYERSTATE_CHANGESMSB']._serialized_end=40609 + _globals['_LAYERSTATE_FLAGS']._serialized_start=40612 + _globals['_LAYERSTATE_FLAGS']._serialized_end=40774 + _globals['_LAYERSTATE_DROPINPUTMODE']._serialized_start=40776 + _globals['_LAYERSTATE_DROPINPUTMODE']._serialized_end=40824 + _globals['_DISPLAYSTATE']._serialized_start=40827 + _globals['_DISPLAYSTATE']._serialized_end=41230 + _globals['_DISPLAYSTATE_CHANGES']._serialized_start=41083 + _globals['_DISPLAYSTATE_CHANGES']._serialized_end=41230 + _globals['_WINSCOPEEXTENSIONS']._serialized_start=41232 + _globals['_WINSCOPEEXTENSIONS']._serialized_end=41258 + _globals['_CHROMEBENCHMARKMETADATA']._serialized_start=41261 + _globals['_CHROMEBENCHMARKMETADATA']._serialized_end=41503 + _globals['_CHROMEMETADATAPACKET']._serialized_start=41506 + _globals['_CHROMEMETADATAPACKET']._serialized_end=41785 + _globals['_CHROMEMETADATAPACKET_FINCHHASH']._serialized_start=41745 + _globals['_CHROMEMETADATAPACKET_FINCHHASH']._serialized_end=41785 + _globals['_BACKGROUNDTRACINGMETADATA']._serialized_start=41788 + _globals['_BACKGROUNDTRACINGMETADATA']._serialized_end=42833 + _globals['_BACKGROUNDTRACINGMETADATA_TRIGGERRULE']._serialized_start=42004 + _globals['_BACKGROUNDTRACINGMETADATA_TRIGGERRULE']._serialized_end=42833 + _globals['_BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE']._serialized_start=42308 + _globals['_BACKGROUNDTRACINGMETADATA_TRIGGERRULE_HISTOGRAMRULE']._serialized_end=42414 + _globals['_BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE']._serialized_start=42417 + _globals['_BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE']._serialized_end=42695 + _globals['_BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE']._serialized_start=42562 + _globals['_BACKGROUNDTRACINGMETADATA_TRIGGERRULE_NAMEDRULE_EVENTTYPE']._serialized_end=42695 + _globals['_BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE']._serialized_start=42698 + _globals['_BACKGROUNDTRACINGMETADATA_TRIGGERRULE_TRIGGERTYPE']._serialized_end=42833 + _globals['_CHROMETRACEDVALUE']._serialized_start=42836 + _globals['_CHROMETRACEDVALUE']._serialized_end=43175 + _globals['_CHROMETRACEDVALUE_NESTEDTYPE']._serialized_start=43142 + _globals['_CHROMETRACEDVALUE_NESTEDTYPE']._serialized_end=43175 + _globals['_CHROMESTRINGTABLEENTRY']._serialized_start=43177 + _globals['_CHROMESTRINGTABLEENTRY']._serialized_end=43231 + _globals['_CHROMETRACEEVENT']._serialized_start=43234 + _globals['_CHROMETRACEEVENT']._serialized_end=43875 + _globals['_CHROMETRACEEVENT_ARG']._serialized_start=43607 + _globals['_CHROMETRACEEVENT_ARG']._serialized_end=43875 + _globals['_CHROMEMETADATA']._serialized_start=43878 + _globals['_CHROMEMETADATA']._serialized_end=44006 + _globals['_CHROMELEGACYJSONTRACE']._serialized_start=44009 + _globals['_CHROMELEGACYJSONTRACE']._serialized_end=44157 + _globals['_CHROMELEGACYJSONTRACE_TRACETYPE']._serialized_start=44112 + _globals['_CHROMELEGACYJSONTRACE_TRACETYPE']._serialized_end=44157 + _globals['_CHROMEEVENTBUNDLE']._serialized_start=44160 + _globals['_CHROMEEVENTBUNDLE']._serialized_end=44455 + _globals['_CHROMETRIGGER']._serialized_start=44457 + _globals['_CHROMETRIGGER']._serialized_end=44521 + _globals['_V8STRING']._serialized_start=44523 + _globals['_V8STRING']._serialized_end=44609 + _globals['_INTERNEDV8STRING']._serialized_start=44611 + _globals['_INTERNEDV8STRING']._serialized_end=44718 + _globals['_INTERNEDV8JSSCRIPT']._serialized_start=44721 + _globals['_INTERNEDV8JSSCRIPT']._serialized_end=45046 + _globals['_INTERNEDV8JSSCRIPT_TYPE']._serialized_start=44916 + _globals['_INTERNEDV8JSSCRIPT_TYPE']._serialized_end=45046 + _globals['_INTERNEDV8WASMSCRIPT']._serialized_start=45048 + _globals['_INTERNEDV8WASMSCRIPT']._serialized_end=45115 + _globals['_INTERNEDV8JSFUNCTION']._serialized_start=45118 + _globals['_INTERNEDV8JSFUNCTION']._serialized_end=46197 + _globals['_INTERNEDV8JSFUNCTION_KIND']._serialized_start=45315 + _globals['_INTERNEDV8JSFUNCTION_KIND']._serialized_end=46197 + _globals['_INTERNEDV8ISOLATE']._serialized_start=46200 + _globals['_INTERNEDV8ISOLATE']._serialized_end=46527 + _globals['_INTERNEDV8ISOLATE_CODERANGE']._serialized_start=46408 + _globals['_INTERNEDV8ISOLATE_CODERANGE']._serialized_end=46527 + _globals['_V8JSCODE']._serialized_start=46530 + _globals['_V8JSCODE']._serialized_end=46892 + _globals['_V8JSCODE_TIER']._serialized_start=46756 + _globals['_V8JSCODE_TIER']._serialized_end=46876 + _globals['_V8INTERNALCODE']._serialized_start=46895 + _globals['_V8INTERNALCODE']._serialized_end=47376 + _globals['_V8INTERNALCODE_TYPE']._serialized_start=47118 + _globals['_V8INTERNALCODE_TYPE']._serialized_end=47376 + _globals['_V8WASMCODE']._serialized_start=47379 + _globals['_V8WASMCODE']._serialized_end=47702 + _globals['_V8WASMCODE_TIER']._serialized_start=47641 + _globals['_V8WASMCODE_TIER']._serialized_end=47702 + _globals['_V8REGEXPCODE']._serialized_start=47705 + _globals['_V8REGEXPCODE']._serialized_end=47881 + _globals['_V8CODEMOVE']._serialized_start=47884 + _globals['_V8CODEMOVE']._serialized_end=48109 + _globals['_V8CODEDEFAULTS']._serialized_start=48111 + _globals['_V8CODEDEFAULTS']._serialized_end=48140 + _globals['_CLOCKSNAPSHOT']._serialized_start=48143 + _globals['_CLOCKSNAPSHOT']._serialized_end=48545 + _globals['_CLOCKSNAPSHOT_CLOCK']._serialized_start=48275 + _globals['_CLOCKSNAPSHOT_CLOCK']._serialized_end=48545 + _globals['_CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS']._serialized_start=48374 + _globals['_CLOCKSNAPSHOT_CLOCK_BUILTINCLOCKS']._serialized_end=48545 + _globals['_CSWITCHETWEVENT']._serialized_start=48548 + _globals['_CSWITCHETWEVENT']._serialized_end=49948 + _globals['_CSWITCHETWEVENT_OLDTHREADWAITREASON']._serialized_start=49012 + _globals['_CSWITCHETWEVENT_OLDTHREADWAITREASON']._serialized_end=49757 + _globals['_CSWITCHETWEVENT_OLDTHREADWAITMODE']._serialized_start=49759 + _globals['_CSWITCHETWEVENT_OLDTHREADWAITMODE']._serialized_end=49810 + _globals['_CSWITCHETWEVENT_OLDTHREADSTATE']._serialized_start=49813 + _globals['_CSWITCHETWEVENT_OLDTHREADSTATE']._serialized_end=49948 + _globals['_READYTHREADETWEVENT']._serialized_start=49951 + _globals['_READYTHREADETWEVENT']._serialized_end=50369 + _globals['_READYTHREADETWEVENT_ADJUSTREASON']._serialized_start=50157 + _globals['_READYTHREADETWEVENT_ADJUSTREASON']._serialized_end=50245 + _globals['_READYTHREADETWEVENT_TRACEFLAG']._serialized_start=50247 + _globals['_READYTHREADETWEVENT_TRACEFLAG']._serialized_end=50369 + _globals['_ETWTRACEEVENT']._serialized_start=50372 + _globals['_ETWTRACEEVENT']._serialized_end=50544 + _globals['_ETWTRACEEVENTBUNDLE']._serialized_start=50546 + _globals['_ETWTRACEEVENTBUNDLE']._serialized_end=50627 + _globals['_FILEDESCRIPTORSET']._serialized_start=50629 + _globals['_FILEDESCRIPTORSET']._serialized_end=50700 + _globals['_FILEDESCRIPTORPROTO']._serialized_start=50703 + _globals['_FILEDESCRIPTORPROTO']._serialized_end=51022 + _globals['_DESCRIPTORPROTO']._serialized_start=51025 + _globals['_DESCRIPTORPROTO']._serialized_end=51491 + _globals['_DESCRIPTORPROTO_RESERVEDRANGE']._serialized_start=51436 + _globals['_DESCRIPTORPROTO_RESERVEDRANGE']._serialized_end=51479 + _globals['_UNINTERPRETEDOPTION']._serialized_start=51494 + _globals['_UNINTERPRETEDOPTION']._serialized_end=51780 + _globals['_UNINTERPRETEDOPTION_NAMEPART']._serialized_start=51729 + _globals['_UNINTERPRETEDOPTION_NAMEPART']._serialized_end=51780 + _globals['_FIELDOPTIONS']._serialized_start=51782 + _globals['_FIELDOPTIONS']._serialized_end=51881 + _globals['_FIELDDESCRIPTORPROTO']._serialized_start=51884 + _globals['_FIELDDESCRIPTORPROTO']._serialized_end=52571 + _globals['_FIELDDESCRIPTORPROTO_TYPE']._serialized_start=52186 + _globals['_FIELDDESCRIPTORPROTO_TYPE']._serialized_end=52496 + _globals['_FIELDDESCRIPTORPROTO_LABEL']._serialized_start=52498 + _globals['_FIELDDESCRIPTORPROTO_LABEL']._serialized_end=52565 + _globals['_ONEOFDESCRIPTORPROTO']._serialized_start=52573 + _globals['_ONEOFDESCRIPTORPROTO']._serialized_end=52657 + _globals['_ENUMDESCRIPTORPROTO']._serialized_start=52660 + _globals['_ENUMDESCRIPTORPROTO']._serialized_end=52788 + _globals['_ENUMVALUEDESCRIPTORPROTO']._serialized_start=52790 + _globals['_ENUMVALUEDESCRIPTORPROTO']._serialized_end=52852 + _globals['_ONEOFOPTIONS']._serialized_start=52854 + _globals['_ONEOFOPTIONS']._serialized_end=52887 + _globals['_EXTENSIONDESCRIPTOR']._serialized_start=52889 + _globals['_EXTENSIONDESCRIPTOR']._serialized_end=52969 + _globals['_INODEFILEMAP']._serialized_start=52972 + _globals['_INODEFILEMAP']._serialized_end=53236 + _globals['_INODEFILEMAP_ENTRY']._serialized_start=53090 + _globals['_INODEFILEMAP_ENTRY']._serialized_end=53236 + _globals['_INODEFILEMAP_ENTRY_TYPE']._serialized_start=53192 + _globals['_INODEFILEMAP_ENTRY_TYPE']._serialized_end=53236 + _globals['_ANDROIDFSDATAREADENDFTRACEEVENT']._serialized_start=53238 + _globals['_ANDROIDFSDATAREADENDFTRACEEVENT']._serialized_end=53315 + _globals['_ANDROIDFSDATAREADSTARTFTRACEEVENT']._serialized_start=53318 + _globals['_ANDROIDFSDATAREADSTARTFTRACEEVENT']._serialized_end=53460 + _globals['_ANDROIDFSDATAWRITEENDFTRACEEVENT']._serialized_start=53462 + _globals['_ANDROIDFSDATAWRITEENDFTRACEEVENT']._serialized_end=53540 + _globals['_ANDROIDFSDATAWRITESTARTFTRACEEVENT']._serialized_start=53543 + _globals['_ANDROIDFSDATAWRITESTARTFTRACEEVENT']._serialized_end=53686 + _globals['_ANDROIDFSFSYNCENDFTRACEEVENT']._serialized_start=53688 + _globals['_ANDROIDFSFSYNCENDFTRACEEVENT']._serialized_end=53762 + _globals['_ANDROIDFSFSYNCSTARTFTRACEEVENT']._serialized_start=53764 + _globals['_ANDROIDFSFSYNCSTARTFTRACEEVENT']._serialized_end=53872 + _globals['_BCLIRQTRIGGERFTRACEEVENT']._serialized_start=53875 + _globals['_BCLIRQTRIGGERFTRACEEVENT']._serialized_end=54064 + _globals['_BINDERTRANSACTIONFTRACEEVENT']._serialized_start=54067 + _globals['_BINDERTRANSACTIONFTRACEEVENT']._serialized_end=54216 + _globals['_BINDERTRANSACTIONRECEIVEDFTRACEEVENT']._serialized_start=54218 + _globals['_BINDERTRANSACTIONRECEIVEDFTRACEEVENT']._serialized_end=54274 + _globals['_BINDERSETPRIORITYFTRACEEVENT']._serialized_start=54276 + _globals['_BINDERSETPRIORITYFTRACEEVENT']._serialized_end=54394 + _globals['_BINDERLOCKFTRACEEVENT']._serialized_start=54396 + _globals['_BINDERLOCKFTRACEEVENT']._serialized_end=54432 + _globals['_BINDERLOCKEDFTRACEEVENT']._serialized_start=54434 + _globals['_BINDERLOCKEDFTRACEEVENT']._serialized_end=54472 + _globals['_BINDERUNLOCKFTRACEEVENT']._serialized_start=54474 + _globals['_BINDERUNLOCKFTRACEEVENT']._serialized_end=54512 + _globals['_BINDERTRANSACTIONALLOCBUFFTRACEEVENT']._serialized_start=54514 + _globals['_BINDERTRANSACTIONALLOCBUFFTRACEEVENT']._serialized_end=54639 + _globals['_BINDERCOMMANDFTRACEEVENT']._serialized_start=54641 + _globals['_BINDERCOMMANDFTRACEEVENT']._serialized_end=54680 + _globals['_BINDERRETURNFTRACEEVENT']._serialized_start=54682 + _globals['_BINDERRETURNFTRACEEVENT']._serialized_end=54720 + _globals['_BLOCKRQISSUEFTRACEEVENT']._serialized_start=54723 + _globals['_BLOCKRQISSUEFTRACEEVENT']._serialized_end=54852 + _globals['_BLOCKBIOBACKMERGEFTRACEEVENT']._serialized_start=54854 + _globals['_BLOCKBIOBACKMERGEFTRACEEVENT']._serialized_end=54960 + _globals['_BLOCKBIOBOUNCEFTRACEEVENT']._serialized_start=54962 + _globals['_BLOCKBIOBOUNCEFTRACEEVENT']._serialized_end=55065 + _globals['_BLOCKBIOCOMPLETEFTRACEEVENT']._serialized_start=55067 + _globals['_BLOCKBIOCOMPLETEFTRACEEVENT']._serialized_end=55173 + _globals['_BLOCKBIOFRONTMERGEFTRACEEVENT']._serialized_start=55175 + _globals['_BLOCKBIOFRONTMERGEFTRACEEVENT']._serialized_end=55282 + _globals['_BLOCKBIOQUEUEFTRACEEVENT']._serialized_start=55284 + _globals['_BLOCKBIOQUEUEFTRACEEVENT']._serialized_end=55386 + _globals['_BLOCKBIOREMAPFTRACEEVENT']._serialized_start=55388 + _globals['_BLOCKBIOREMAPFTRACEEVENT']._serialized_end=55513 + _globals['_BLOCKDIRTYBUFFERFTRACEEVENT']._serialized_start=55515 + _globals['_BLOCKDIRTYBUFFERFTRACEEVENT']._serialized_end=55587 + _globals['_BLOCKGETRQFTRACEEVENT']._serialized_start=55589 + _globals['_BLOCKGETRQFTRACEEVENT']._serialized_end=55688 + _globals['_BLOCKPLUGFTRACEEVENT']._serialized_start=55690 + _globals['_BLOCKPLUGFTRACEEVENT']._serialized_end=55726 + _globals['_BLOCKRQABORTFTRACEEVENT']._serialized_start=55728 + _globals['_BLOCKRQABORTFTRACEEVENT']._serialized_end=55844 + _globals['_BLOCKRQCOMPLETEFTRACEEVENT']._serialized_start=55847 + _globals['_BLOCKRQCOMPLETEFTRACEEVENT']._serialized_end=55981 + _globals['_BLOCKRQINSERTFTRACEEVENT']._serialized_start=55984 + _globals['_BLOCKRQINSERTFTRACEEVENT']._serialized_end=56114 + _globals['_BLOCKRQREMAPFTRACEEVENT']._serialized_start=56117 + _globals['_BLOCKRQREMAPFTRACEEVENT']._serialized_end=56258 + _globals['_BLOCKRQREQUEUEFTRACEEVENT']._serialized_start=56260 + _globals['_BLOCKRQREQUEUEFTRACEEVENT']._serialized_end=56378 + _globals['_BLOCKSLEEPRQFTRACEEVENT']._serialized_start=56380 + _globals['_BLOCKSLEEPRQFTRACEEVENT']._serialized_end=56481 + _globals['_BLOCKSPLITFTRACEEVENT']._serialized_start=56483 + _globals['_BLOCKSPLITFTRACEEVENT']._serialized_end=56583 + _globals['_BLOCKTOUCHBUFFERFTRACEEVENT']._serialized_start=56585 + _globals['_BLOCKTOUCHBUFFERFTRACEEVENT']._serialized_end=56657 + _globals['_BLOCKUNPLUGFTRACEEVENT']._serialized_start=56659 + _globals['_BLOCKUNPLUGFTRACEEVENT']._serialized_end=56712 + _globals['_CGROUPATTACHTASKFTRACEEVENT']._serialized_start=56715 + _globals['_CGROUPATTACHTASKFTRACEEVENT']._serialized_end=56857 + _globals['_CGROUPMKDIRFTRACEEVENT']._serialized_start=56859 + _globals['_CGROUPMKDIRFTRACEEVENT']._serialized_end=56953 + _globals['_CGROUPREMOUNTFTRACEEVENT']._serialized_start=56955 + _globals['_CGROUPREMOUNTFTRACEEVENT']._serialized_end=57026 + _globals['_CGROUPRMDIRFTRACEEVENT']._serialized_start=57028 + _globals['_CGROUPRMDIRFTRACEEVENT']._serialized_end=57122 + _globals['_CGROUPTRANSFERTASKSFTRACEEVENT']._serialized_start=57125 + _globals['_CGROUPTRANSFERTASKSFTRACEEVENT']._serialized_end=57270 + _globals['_CGROUPDESTROYROOTFTRACEEVENT']._serialized_start=57272 + _globals['_CGROUPDESTROYROOTFTRACEEVENT']._serialized_end=57347 + _globals['_CGROUPRELEASEFTRACEEVENT']._serialized_start=57349 + _globals['_CGROUPRELEASEFTRACEEVENT']._serialized_end=57445 + _globals['_CGROUPRENAMEFTRACEEVENT']._serialized_start=57447 + _globals['_CGROUPRENAMEFTRACEEVENT']._serialized_end=57542 + _globals['_CGROUPSETUPROOTFTRACEEVENT']._serialized_start=57544 + _globals['_CGROUPSETUPROOTFTRACEEVENT']._serialized_end=57617 + _globals['_CLKENABLEFTRACEEVENT']._serialized_start=57619 + _globals['_CLKENABLEFTRACEEVENT']._serialized_end=57655 + _globals['_CLKDISABLEFTRACEEVENT']._serialized_start=57657 + _globals['_CLKDISABLEFTRACEEVENT']._serialized_end=57694 + _globals['_CLKSETRATEFTRACEEVENT']._serialized_start=57696 + _globals['_CLKSETRATEFTRACEEVENT']._serialized_end=57747 + _globals['_CMAALLOCSTARTFTRACEEVENT']._serialized_start=57749 + _globals['_CMAALLOCSTARTFTRACEEVENT']._serialized_end=57819 + _globals['_CMAALLOCINFOFTRACEEVENT']._serialized_start=57822 + _globals['_CMAALLOCINFOFTRACEEVENT']._serialized_end=58018 + _globals['_MMCOMPACTIONBEGINFTRACEEVENT']._serialized_start=58020 + _globals['_MMCOMPACTIONBEGINFTRACEEVENT']._serialized_end=58141 + _globals['_MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT']._serialized_start=58144 + _globals['_MMCOMPACTIONDEFERCOMPACTIONFTRACEEVENT']._serialized_end=58288 + _globals['_MMCOMPACTIONDEFERREDFTRACEEVENT']._serialized_start=58291 + _globals['_MMCOMPACTIONDEFERREDFTRACEEVENT']._serialized_end=58428 + _globals['_MMCOMPACTIONDEFERRESETFTRACEEVENT']._serialized_start=58431 + _globals['_MMCOMPACTIONDEFERRESETFTRACEEVENT']._serialized_end=58570 + _globals['_MMCOMPACTIONENDFTRACEEVENT']._serialized_start=58573 + _globals['_MMCOMPACTIONENDFTRACEEVENT']._serialized_end=58708 + _globals['_MMCOMPACTIONFINISHEDFTRACEEVENT']._serialized_start=58710 + _globals['_MMCOMPACTIONFINISHEDFTRACEEVENT']._serialized_end=58797 + _globals['_MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT']._serialized_start=58799 + _globals['_MMCOMPACTIONISOLATEFREEPAGESFTRACEEVENT']._serialized_end=58914 + _globals['_MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT']._serialized_start=58916 + _globals['_MMCOMPACTIONISOLATEMIGRATEPAGESFTRACEEVENT']._serialized_end=59034 + _globals['_MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT']._serialized_start=59036 + _globals['_MMCOMPACTIONKCOMPACTDSLEEPFTRACEEVENT']._serialized_end=59088 + _globals['_MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT']._serialized_start=59090 + _globals['_MMCOMPACTIONKCOMPACTDWAKEFTRACEEVENT']._serialized_end=59204 + _globals['_MMCOMPACTIONMIGRATEPAGESFTRACEEVENT']._serialized_start=59206 + _globals['_MMCOMPACTIONMIGRATEPAGESFTRACEEVENT']._serialized_end=59283 + _globals['_MMCOMPACTIONSUITABLEFTRACEEVENT']._serialized_start=59285 + _globals['_MMCOMPACTIONSUITABLEFTRACEEVENT']._serialized_end=59372 + _globals['_MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT']._serialized_start=59374 + _globals['_MMCOMPACTIONTRYTOCOMPACTPAGESFTRACEEVENT']._serialized_end=59477 + _globals['_MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT']._serialized_start=59479 + _globals['_MMCOMPACTIONWAKEUPKCOMPACTDFTRACEEVENT']._serialized_end=59595 + _globals['_CPUHPEXITFTRACEEVENT']._serialized_start=59597 + _globals['_CPUHPEXITFTRACEEVENT']._serialized_end=59673 + _globals['_CPUHPMULTIENTERFTRACEEVENT']._serialized_start=59675 + _globals['_CPUHPMULTIENTERFTRACEEVENT']._serialized_end=59758 + _globals['_CPUHPENTERFTRACEEVENT']._serialized_start=59760 + _globals['_CPUHPENTERFTRACEEVENT']._serialized_end=59838 + _globals['_CPUHPLATENCYFTRACEEVENT']._serialized_start=59840 + _globals['_CPUHPLATENCYFTRACEEVENT']._serialized_end=59920 + _globals['_CPUHPPAUSEFTRACEEVENT']._serialized_start=59922 + _globals['_CPUHPPAUSEFTRACEEVENT']._serialized_end=60009 + _globals['_CROSECSENSORHUBDATAFTRACEEVENT']._serialized_start=60012 + _globals['_CROSECSENSORHUBDATAFTRACEEVENT']._serialized_end=60182 + _globals['_DCVSHFREQFTRACEEVENT']._serialized_start=60184 + _globals['_DCVSHFREQFTRACEEVENT']._serialized_end=60233 + _globals['_DMAFENCEINITFTRACEEVENT']._serialized_start=60235 + _globals['_DMAFENCEINITFTRACEEVENT']._serialized_end=60326 + _globals['_DMAFENCEEMITFTRACEEVENT']._serialized_start=60328 + _globals['_DMAFENCEEMITFTRACEEVENT']._serialized_end=60419 + _globals['_DMAFENCESIGNALEDFTRACEEVENT']._serialized_start=60421 + _globals['_DMAFENCESIGNALEDFTRACEEVENT']._serialized_end=60516 + _globals['_DMAFENCEWAITSTARTFTRACEEVENT']._serialized_start=60518 + _globals['_DMAFENCEWAITSTARTFTRACEEVENT']._serialized_end=60614 + _globals['_DMAFENCEWAITENDFTRACEEVENT']._serialized_start=60616 + _globals['_DMAFENCEWAITENDFTRACEEVENT']._serialized_end=60710 + _globals['_DMAHEAPSTATFTRACEEVENT']._serialized_start=60712 + _globals['_DMAHEAPSTATFTRACEEVENT']._serialized_end=60789 + _globals['_DPUTRACINGMARKWRITEFTRACEEVENT']._serialized_start=60792 + _globals['_DPUTRACINGMARKWRITEFTRACEEVENT']._serialized_end=60921 + _globals['_DPUDSICMDFIFOSTATUSFTRACEEVENT']._serialized_start=60923 + _globals['_DPUDSICMDFIFOSTATUSFTRACEEVENT']._serialized_end=60988 + _globals['_DPUDSIRXFTRACEEVENT']._serialized_start=60990 + _globals['_DPUDSIRXFTRACEEVENT']._serialized_end=61040 + _globals['_DPUDSITXFTRACEEVENT']._serialized_start=61042 + _globals['_DPUDSITXFTRACEEVENT']._serialized_end=61125 + _globals['_DRMVBLANKEVENTFTRACEEVENT']._serialized_start=61127 + _globals['_DRMVBLANKEVENTFTRACEEVENT']._serialized_end=61214 + _globals['_DRMVBLANKEVENTDELIVEREDFTRACEEVENT']._serialized_start=61216 + _globals['_DRMVBLANKEVENTDELIVEREDFTRACEEVENT']._serialized_end=61293 + _globals['_EXT4DAWRITEBEGINFTRACEEVENT']._serialized_start=61295 + _globals['_EXT4DAWRITEBEGINFTRACEEVENT']._serialized_end=61391 + _globals['_EXT4DAWRITEENDFTRACEEVENT']._serialized_start=61393 + _globals['_EXT4DAWRITEENDFTRACEEVENT']._serialized_end=61488 + _globals['_EXT4SYNCFILEENTERFTRACEEVENT']._serialized_start=61490 + _globals['_EXT4SYNCFILEENTERFTRACEEVENT']._serialized_end=61580 + _globals['_EXT4SYNCFILEEXITFTRACEEVENT']._serialized_start=61582 + _globals['_EXT4SYNCFILEEXITFTRACEEVENT']._serialized_end=61650 + _globals['_EXT4ALLOCDABLOCKSFTRACEEVENT']._serialized_start=61652 + _globals['_EXT4ALLOCDABLOCKSFTRACEEVENT']._serialized_end=61750 + _globals['_EXT4ALLOCATEBLOCKSFTRACEEVENT']._serialized_start=61753 + _globals['_EXT4ALLOCATEBLOCKSFTRACEEVENT']._serialized_end=61946 + _globals['_EXT4ALLOCATEINODEFTRACEEVENT']._serialized_start=61948 + _globals['_EXT4ALLOCATEINODEFTRACEEVENT']._serialized_end=62031 + _globals['_EXT4BEGINORDEREDTRUNCATEFTRACEEVENT']._serialized_start=62033 + _globals['_EXT4BEGINORDEREDTRUNCATEFTRACEEVENT']._serialized_end=62114 + _globals['_EXT4COLLAPSERANGEFTRACEEVENT']._serialized_start=62116 + _globals['_EXT4COLLAPSERANGEFTRACEEVENT']._serialized_end=62201 + _globals['_EXT4DARELEASESPACEFTRACEEVENT']._serialized_start=62204 + _globals['_EXT4DARELEASESPACEFTRACEEVENT']._serialized_end=62406 + _globals['_EXT4DARESERVESPACEFTRACEEVENT']._serialized_start=62409 + _globals['_EXT4DARESERVESPACEFTRACEEVENT']._serialized_end=62577 + _globals['_EXT4DAUPDATERESERVESPACEFTRACEEVENT']._serialized_start=62580 + _globals['_EXT4DAUPDATERESERVESPACEFTRACEEVENT']._serialized_end=62808 + _globals['_EXT4DAWRITEPAGESFTRACEEVENT']._serialized_start=62811 + _globals['_EXT4DAWRITEPAGESFTRACEEVENT']._serialized_end=63018 + _globals['_EXT4DAWRITEPAGESEXTENTFTRACEEVENT']._serialized_start=63020 + _globals['_EXT4DAWRITEPAGESEXTENTFTRACEEVENT']._serialized_end=63123 + _globals['_EXT4DIRECTIOENTERFTRACEEVENT']._serialized_start=63125 + _globals['_EXT4DIRECTIOENTERFTRACEEVENT']._serialized_end=63219 + _globals['_EXT4DIRECTIOEXITFTRACEEVENT']._serialized_start=63221 + _globals['_EXT4DIRECTIOEXITFTRACEEVENT']._serialized_end=63327 + _globals['_EXT4DISCARDBLOCKSFTRACEEVENT']._serialized_start=63329 + _globals['_EXT4DISCARDBLOCKSFTRACEEVENT']._serialized_end=63400 + _globals['_EXT4DISCARDPREALLOCATIONSFTRACEEVENT']._serialized_start=63402 + _globals['_EXT4DISCARDPREALLOCATIONSFTRACEEVENT']._serialized_end=63495 + _globals['_EXT4DROPINODEFTRACEEVENT']._serialized_start=63497 + _globals['_EXT4DROPINODEFTRACEEVENT']._serialized_end=63563 + _globals['_EXT4ESCACHEEXTENTFTRACEEVENT']._serialized_start=63565 + _globals['_EXT4ESCACHEEXTENTFTRACEEVENT']._serialized_end=63678 + _globals['_EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT']._serialized_start=63680 + _globals['_EXT4ESFINDDELAYEDEXTENTRANGEENTERFTRACEEVENT']._serialized_end=63766 + _globals['_EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT']._serialized_start=63769 + _globals['_EXT4ESFINDDELAYEDEXTENTRANGEEXITFTRACEEVENT']._serialized_end=63897 + _globals['_EXT4ESINSERTEXTENTFTRACEEVENT']._serialized_start=63899 + _globals['_EXT4ESINSERTEXTENTFTRACEEVENT']._serialized_end=64013 + _globals['_EXT4ESLOOKUPEXTENTENTERFTRACEEVENT']._serialized_start=64015 + _globals['_EXT4ESLOOKUPEXTENTENTERFTRACEEVENT']._serialized_end=64091 + _globals['_EXT4ESLOOKUPEXTENTEXITFTRACEEVENT']._serialized_start=64094 + _globals['_EXT4ESLOOKUPEXTENTEXITFTRACEEVENT']._serialized_end=64227 + _globals['_EXT4ESREMOVEEXTENTFTRACEEVENT']._serialized_start=64229 + _globals['_EXT4ESREMOVEEXTENTFTRACEEVENT']._serialized_end=64313 + _globals['_EXT4ESSHRINKFTRACEEVENT']._serialized_start=64315 + _globals['_EXT4ESSHRINKFTRACEEVENT']._serialized_end=64428 + _globals['_EXT4ESSHRINKCOUNTFTRACEEVENT']._serialized_start=64430 + _globals['_EXT4ESSHRINKCOUNTFTRACEEVENT']._serialized_end=64512 + _globals['_EXT4ESSHRINKSCANENTERFTRACEEVENT']._serialized_start=64514 + _globals['_EXT4ESSHRINKSCANENTERFTRACEEVENT']._serialized_end=64600 + _globals['_EXT4ESSHRINKSCANEXITFTRACEEVENT']._serialized_start=64602 + _globals['_EXT4ESSHRINKSCANEXITFTRACEEVENT']._serialized_end=64686 + _globals['_EXT4EVICTINODEFTRACEEVENT']._serialized_start=64688 + _globals['_EXT4EVICTINODEFTRACEEVENT']._serialized_end=64756 + _globals['_EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT']._serialized_start=64759 + _globals['_EXT4EXTCONVERTTOINITIALIZEDENTERFTRACEEVENT']._serialized_end=64908 + _globals['_EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT']._serialized_start=64911 + _globals['_EXT4EXTCONVERTTOINITIALIZEDFASTPATHFTRACEEVENT']._serialized_end=65110 + _globals['_EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT']._serialized_start=65113 + _globals['_EXT4EXTHANDLEUNWRITTENEXTENTSFTRACEEVENT']._serialized_end=65272 + _globals['_EXT4EXTINCACHEFTRACEEVENT']._serialized_start=65274 + _globals['_EXT4EXTINCACHEFTRACEEVENT']._serialized_end=65354 + _globals['_EXT4EXTLOADEXTENTFTRACEEVENT']._serialized_start=65356 + _globals['_EXT4EXTLOADEXTENTFTRACEEVENT']._serialized_end=65440 + _globals['_EXT4EXTMAPBLOCKSENTERFTRACEEVENT']._serialized_start=65442 + _globals['_EXT4EXTMAPBLOCKSENTERFTRACEEVENT']._serialized_end=65544 + _globals['_EXT4EXTMAPBLOCKSEXITFTRACEEVENT']._serialized_start=65547 + _globals['_EXT4EXTMAPBLOCKSEXITFTRACEEVENT']._serialized_end=65691 + _globals['_EXT4EXTPUTINCACHEFTRACEEVENT']._serialized_start=65693 + _globals['_EXT4EXTPUTINCACHEFTRACEEVENT']._serialized_end=65791 + _globals['_EXT4EXTREMOVESPACEFTRACEEVENT']._serialized_start=65793 + _globals['_EXT4EXTREMOVESPACEFTRACEEVENT']._serialized_end=65893 + _globals['_EXT4EXTREMOVESPACEDONEFTRACEEVENT']._serialized_start=65896 + _globals['_EXT4EXTREMOVESPACEDONEFTRACEEVENT']._serialized_end=66089 + _globals['_EXT4EXTRMIDXFTRACEEVENT']._serialized_start=66091 + _globals['_EXT4EXTRMIDXFTRACEEVENT']._serialized_end=66156 + _globals['_EXT4EXTRMLEAFFTRACEEVENT']._serialized_start=66159 + _globals['_EXT4EXTRMLEAFFTRACEEVENT']._serialized_end=66345 + _globals['_EXT4EXTSHOWEXTENTFTRACEEVENT']._serialized_start=66347 + _globals['_EXT4EXTSHOWEXTENTFTRACEEVENT']._serialized_end=66444 + _globals['_EXT4FALLOCATEENTERFTRACEEVENT']._serialized_start=66446 + _globals['_EXT4FALLOCATEENTERFTRACEEVENT']._serialized_end=66559 + _globals['_EXT4FALLOCATEEXITFTRACEEVENT']._serialized_start=66561 + _globals['_EXT4FALLOCATEEXITFTRACEEVENT']._serialized_end=66659 + _globals['_EXT4FINDDELALLOCRANGEFTRACEEVENT']._serialized_start=66662 + _globals['_EXT4FINDDELALLOCRANGEFTRACEEVENT']._serialized_end=66799 + _globals['_EXT4FORGETFTRACEEVENT']._serialized_start=66801 + _globals['_EXT4FORGETFTRACEEVENT']._serialized_end=66900 + _globals['_EXT4FREEBLOCKSFTRACEEVENT']._serialized_start=66902 + _globals['_EXT4FREEBLOCKSFTRACEEVENT']._serialized_end=67014 + _globals['_EXT4FREEINODEFTRACEEVENT']._serialized_start=67016 + _globals['_EXT4FREEINODEFTRACEEVENT']._serialized_end=67124 + _globals['_EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT']._serialized_start=67126 + _globals['_EXT4GETIMPLIEDCLUSTERALLOCEXITFTRACEEVENT']._serialized_end=67251 + _globals['_EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT']._serialized_start=67253 + _globals['_EXT4GETRESERVEDCLUSTERALLOCFTRACEEVENT']._serialized_end=67346 + _globals['_EXT4INDMAPBLOCKSENTERFTRACEEVENT']._serialized_start=67348 + _globals['_EXT4INDMAPBLOCKSENTERFTRACEEVENT']._serialized_end=67450 + _globals['_EXT4INDMAPBLOCKSEXITFTRACEEVENT']._serialized_start=67453 + _globals['_EXT4INDMAPBLOCKSEXITFTRACEEVENT']._serialized_end=67597 + _globals['_EXT4INSERTRANGEFTRACEEVENT']._serialized_start=67599 + _globals['_EXT4INSERTRANGEFTRACEEVENT']._serialized_end=67682 + _globals['_EXT4INVALIDATEPAGEFTRACEEVENT']._serialized_start=67684 + _globals['_EXT4INVALIDATEPAGEFTRACEEVENT']._serialized_end=67788 + _globals['_EXT4JOURNALSTARTFTRACEEVENT']._serialized_start=67791 + _globals['_EXT4JOURNALSTARTFTRACEEVENT']._serialized_end=67920 + _globals['_EXT4JOURNALSTARTRESERVEDFTRACEEVENT']._serialized_start=67922 + _globals['_EXT4JOURNALSTARTRESERVEDFTRACEEVENT']._serialized_end=68000 + _globals['_EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT']._serialized_start=68002 + _globals['_EXT4JOURNALLEDINVALIDATEPAGEFTRACEEVENT']._serialized_end=68116 + _globals['_EXT4JOURNALLEDWRITEENDFTRACEEVENT']._serialized_start=68118 + _globals['_EXT4JOURNALLEDWRITEENDFTRACEEVENT']._serialized_end=68221 + _globals['_EXT4LOADINODEFTRACEEVENT']._serialized_start=68223 + _globals['_EXT4LOADINODEFTRACEEVENT']._serialized_end=68275 + _globals['_EXT4LOADINODEBITMAPFTRACEEVENT']._serialized_start=68277 + _globals['_EXT4LOADINODEBITMAPFTRACEEVENT']._serialized_end=68337 + _globals['_EXT4MARKINODEDIRTYFTRACEEVENT']._serialized_start=68339 + _globals['_EXT4MARKINODEDIRTYFTRACEEVENT']._serialized_end=68408 + _globals['_EXT4MBBITMAPLOADFTRACEEVENT']._serialized_start=68410 + _globals['_EXT4MBBITMAPLOADFTRACEEVENT']._serialized_end=68467 + _globals['_EXT4MBBUDDYBITMAPLOADFTRACEEVENT']._serialized_start=68469 + _globals['_EXT4MBBUDDYBITMAPLOADFTRACEEVENT']._serialized_end=68531 + _globals['_EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT']._serialized_start=68533 + _globals['_EXT4MBDISCARDPREALLOCATIONSFTRACEEVENT']._serialized_end=68602 + _globals['_EXT4MBNEWGROUPPAFTRACEEVENT']._serialized_start=68604 + _globals['_EXT4MBNEWGROUPPAFTRACEEVENT']._serialized_end=68713 + _globals['_EXT4MBNEWINODEPAFTRACEEVENT']._serialized_start=68715 + _globals['_EXT4MBNEWINODEPAFTRACEEVENT']._serialized_end=68824 + _globals['_EXT4MBRELEASEGROUPPAFTRACEEVENT']._serialized_start=68826 + _globals['_EXT4MBRELEASEGROUPPAFTRACEEVENT']._serialized_end=68907 + _globals['_EXT4MBRELEASEINODEPAFTRACEEVENT']._serialized_start=68909 + _globals['_EXT4MBRELEASEINODEPAFTRACEEVENT']._serialized_end=68998 + _globals['_EXT4MBALLOCALLOCFTRACEEVENT']._serialized_start=69001 + _globals['_EXT4MBALLOCALLOCFTRACEEVENT']._serialized_end=69391 + _globals['_EXT4MBALLOCDISCARDFTRACEEVENT']._serialized_start=69393 + _globals['_EXT4MBALLOCDISCARDFTRACEEVENT']._serialized_end=69514 + _globals['_EXT4MBALLOCFREEFTRACEEVENT']._serialized_start=69516 + _globals['_EXT4MBALLOCFREEFTRACEEVENT']._serialized_end=69634 + _globals['_EXT4MBALLOCPREALLOCFTRACEEVENT']._serialized_start=69637 + _globals['_EXT4MBALLOCPREALLOCFTRACEEVENT']._serialized_end=69863 + _globals['_EXT4OTHERINODEUPDATETIMEFTRACEEVENT']._serialized_start=69865 + _globals['_EXT4OTHERINODEUPDATETIMEFTRACEEVENT']._serialized_end=69986 + _globals['_EXT4PUNCHHOLEFTRACEEVENT']._serialized_start=69988 + _globals['_EXT4PUNCHHOLEFTRACEEVENT']._serialized_end=70083 + _globals['_EXT4READBLOCKBITMAPLOADFTRACEEVENT']._serialized_start=70085 + _globals['_EXT4READBLOCKBITMAPLOADFTRACEEVENT']._serialized_end=70167 + _globals['_EXT4READPAGEFTRACEEVENT']._serialized_start=70169 + _globals['_EXT4READPAGEFTRACEEVENT']._serialized_end=70235 + _globals['_EXT4RELEASEPAGEFTRACEEVENT']._serialized_start=70237 + _globals['_EXT4RELEASEPAGEFTRACEEVENT']._serialized_end=70306 + _globals['_EXT4REMOVEBLOCKSFTRACEEVENT']._serialized_start=70309 + _globals['_EXT4REMOVEBLOCKSFTRACEEVENT']._serialized_end=70509 + _globals['_EXT4REQUESTBLOCKSFTRACEEVENT']._serialized_start=70512 + _globals['_EXT4REQUESTBLOCKSFTRACEEVENT']._serialized_end=70689 + _globals['_EXT4REQUESTINODEFTRACEEVENT']._serialized_start=70691 + _globals['_EXT4REQUESTINODEFTRACEEVENT']._serialized_end=70760 + _globals['_EXT4SYNCFSFTRACEEVENT']._serialized_start=70762 + _globals['_EXT4SYNCFSFTRACEEVENT']._serialized_end=70812 + _globals['_EXT4TRIMALLFREEFTRACEEVENT']._serialized_start=70814 + _globals['_EXT4TRIMALLFREEFTRACEEVENT']._serialized_end=70923 + _globals['_EXT4TRIMEXTENTFTRACEEVENT']._serialized_start=70925 + _globals['_EXT4TRIMEXTENTFTRACEEVENT']._serialized_end=71033 + _globals['_EXT4TRUNCATEENTERFTRACEEVENT']._serialized_start=71035 + _globals['_EXT4TRUNCATEENTERFTRACEEVENT']._serialized_end=71107 + _globals['_EXT4TRUNCATEEXITFTRACEEVENT']._serialized_start=71109 + _globals['_EXT4TRUNCATEEXITFTRACEEVENT']._serialized_end=71180 + _globals['_EXT4UNLINKENTERFTRACEEVENT']._serialized_start=71182 + _globals['_EXT4UNLINKENTERFTRACEEVENT']._serialized_end=71266 + _globals['_EXT4UNLINKEXITFTRACEEVENT']._serialized_start=71268 + _globals['_EXT4UNLINKEXITFTRACEEVENT']._serialized_end=71334 + _globals['_EXT4WRITEBEGINFTRACEEVENT']._serialized_start=71336 + _globals['_EXT4WRITEBEGINFTRACEEVENT']._serialized_end=71430 + _globals['_EXT4WRITEENDFTRACEEVENT']._serialized_start=71432 + _globals['_EXT4WRITEENDFTRACEEVENT']._serialized_end=71525 + _globals['_EXT4WRITEPAGEFTRACEEVENT']._serialized_start=71527 + _globals['_EXT4WRITEPAGEFTRACEEVENT']._serialized_end=71594 + _globals['_EXT4WRITEPAGESFTRACEEVENT']._serialized_start=71597 + _globals['_EXT4WRITEPAGESFTRACEEVENT']._serialized_end=71821 + _globals['_EXT4WRITEPAGESRESULTFTRACEEVENT']._serialized_start=71824 + _globals['_EXT4WRITEPAGESRESULTFTRACEEVENT']._serialized_end=71986 + _globals['_EXT4ZERORANGEFTRACEEVENT']._serialized_start=71988 + _globals['_EXT4ZERORANGEFTRACEEVENT']._serialized_end=72083 + _globals['_F2FSDOSUBMITBIOFTRACEEVENT']._serialized_start=72085 + _globals['_F2FSDOSUBMITBIOFTRACEEVENT']._serialized_end=72185 + _globals['_F2FSEVICTINODEFTRACEEVENT']._serialized_start=72188 + _globals['_F2FSEVICTINODEFTRACEEVENT']._serialized_end=72330 + _globals['_F2FSFALLOCATEFTRACEEVENT']._serialized_start=72333 + _globals['_F2FSFALLOCATEFTRACEEVENT']._serialized_end=72471 + _globals['_F2FSGETDATABLOCKFTRACEEVENT']._serialized_start=72473 + _globals['_F2FSGETDATABLOCKFTRACEEVENT']._serialized_end=72592 + _globals['_F2FSGETVICTIMFTRACEEVENT']._serialized_start=72595 + _globals['_F2FSGETVICTIMFTRACEEVENT']._serialized_end=72801 + _globals['_F2FSIGETFTRACEEVENT']._serialized_start=72804 + _globals['_F2FSIGETFTRACEEVENT']._serialized_end=72940 + _globals['_F2FSIGETEXITFTRACEEVENT']._serialized_start=72942 + _globals['_F2FSIGETEXITFTRACEEVENT']._serialized_end=73006 + _globals['_F2FSNEWINODEFTRACEEVENT']._serialized_start=73008 + _globals['_F2FSNEWINODEFTRACEEVENT']._serialized_end=73072 + _globals['_F2FSREADPAGEFTRACEEVENT']._serialized_start=73075 + _globals['_F2FSREADPAGEFTRACEEVENT']._serialized_end=73218 + _globals['_F2FSRESERVENEWBLOCKFTRACEEVENT']._serialized_start=73220 + _globals['_F2FSRESERVENEWBLOCKFTRACEEVENT']._serialized_end=73299 + _globals['_F2FSSETPAGEDIRTYFTRACEEVENT']._serialized_start=73302 + _globals['_F2FSSETPAGEDIRTYFTRACEEVENT']._serialized_end=73432 + _globals['_F2FSSUBMITWRITEPAGEFTRACEEVENT']._serialized_start=73434 + _globals['_F2FSSUBMITWRITEPAGEFTRACEEVENT']._serialized_end=73536 + _globals['_F2FSSYNCFILEENTERFTRACEEVENT']._serialized_start=73539 + _globals['_F2FSSYNCFILEENTERFTRACEEVENT']._serialized_end=73684 + _globals['_F2FSSYNCFILEEXITFTRACEEVENT']._serialized_start=73686 + _globals['_F2FSSYNCFILEEXITFTRACEEVENT']._serialized_end=73808 + _globals['_F2FSSYNCFSFTRACEEVENT']._serialized_start=73810 + _globals['_F2FSSYNCFSFTRACEEVENT']._serialized_end=73875 + _globals['_F2FSTRUNCATEFTRACEEVENT']._serialized_start=73878 + _globals['_F2FSTRUNCATEFTRACEEVENT']._serialized_end=74018 + _globals['_F2FSTRUNCATEBLOCKSENTERFTRACEEVENT']._serialized_start=74020 + _globals['_F2FSTRUNCATEBLOCKSENTERFTRACEEVENT']._serialized_end=74126 + _globals['_F2FSTRUNCATEBLOCKSEXITFTRACEEVENT']._serialized_start=74128 + _globals['_F2FSTRUNCATEBLOCKSEXITFTRACEEVENT']._serialized_end=74202 + _globals['_F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT']._serialized_start=74204 + _globals['_F2FSTRUNCATEDATABLOCKSRANGEFTRACEEVENT']._serialized_end=74310 + _globals['_F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT']._serialized_start=74312 + _globals['_F2FSTRUNCATEINODEBLOCKSENTERFTRACEEVENT']._serialized_end=74423 + _globals['_F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT']._serialized_start=74425 + _globals['_F2FSTRUNCATEINODEBLOCKSEXITFTRACEEVENT']._serialized_end=74504 + _globals['_F2FSTRUNCATENODEFTRACEEVENT']._serialized_start=74506 + _globals['_F2FSTRUNCATENODEFTRACEEVENT']._serialized_end=74592 + _globals['_F2FSTRUNCATENODESENTERFTRACEEVENT']._serialized_start=74594 + _globals['_F2FSTRUNCATENODESENTERFTRACEEVENT']._serialized_end=74686 + _globals['_F2FSTRUNCATENODESEXITFTRACEEVENT']._serialized_start=74688 + _globals['_F2FSTRUNCATENODESEXITFTRACEEVENT']._serialized_end=74761 + _globals['_F2FSTRUNCATEPARTIALNODESFTRACEEVENT']._serialized_start=74763 + _globals['_F2FSTRUNCATEPARTIALNODESFTRACEEVENT']._serialized_end=74867 + _globals['_F2FSUNLINKENTERFTRACEEVENT']._serialized_start=74869 + _globals['_F2FSUNLINKENTERFTRACEEVENT']._serialized_end=74967 + _globals['_F2FSUNLINKEXITFTRACEEVENT']._serialized_start=74969 + _globals['_F2FSUNLINKEXITFTRACEEVENT']._serialized_end=75035 + _globals['_F2FSVMPAGEMKWRITEFTRACEEVENT']._serialized_start=75038 + _globals['_F2FSVMPAGEMKWRITEFTRACEEVENT']._serialized_end=75169 + _globals['_F2FSWRITEBEGINFTRACEEVENT']._serialized_start=75171 + _globals['_F2FSWRITEBEGINFTRACEEVENT']._serialized_end=75265 + _globals['_F2FSWRITECHECKPOINTFTRACEEVENT']._serialized_start=75267 + _globals['_F2FSWRITECHECKPOINTFTRACEEVENT']._serialized_end=75360 + _globals['_F2FSWRITEENDFTRACEEVENT']._serialized_start=75362 + _globals['_F2FSWRITEENDFTRACEEVENT']._serialized_end=75455 + _globals['_F2FSIOSTATFTRACEEVENT']._serialized_start=75458 + _globals['_F2FSIOSTATFTRACEEVENT']._serialized_end=75883 + _globals['_F2FSIOSTATLATENCYFTRACEEVENT']._serialized_start=75886 + _globals['_F2FSIOSTATLATENCYFTRACEEVENT']._serialized_end=76469 + _globals['_F2FSBACKGROUNDGCFTRACEEVENT']._serialized_start=76471 + _globals['_F2FSBACKGROUNDGCFTRACEEVENT']._serialized_end=76561 + _globals['_F2FSGCBEGINFTRACEEVENT']._serialized_start=76564 + _globals['_F2FSGCBEGINFTRACEEVENT']._serialized_end=76834 + _globals['_F2FSGCENDFTRACEEVENT']._serialized_start=76837 + _globals['_F2FSGCENDFTRACEEVENT']._serialized_end=77065 + _globals['_FASTRPCDMASTATFTRACEEVENT']._serialized_start=77067 + _globals['_FASTRPCDMASTATFTRACEEVENT']._serialized_end=77145 + _globals['_FASTRPCDMAFREEFTRACEEVENT']._serialized_start=77147 + _globals['_FASTRPCDMAFREEFTRACEEVENT']._serialized_end=77215 + _globals['_FASTRPCDMAALLOCFTRACEEVENT']._serialized_start=77217 + _globals['_FASTRPCDMAALLOCFTRACEEVENT']._serialized_end=77316 + _globals['_FASTRPCDMAUNMAPFTRACEEVENT']._serialized_start=77318 + _globals['_FASTRPCDMAUNMAPFTRACEEVENT']._serialized_end=77387 + _globals['_FASTRPCDMAMAPFTRACEEVENT']._serialized_start=77389 + _globals['_FASTRPCDMAMAPFTRACEEVENT']._serialized_end=77511 + _globals['_FENCEINITFTRACEEVENT']._serialized_start=77513 + _globals['_FENCEINITFTRACEEVENT']._serialized_end=77601 + _globals['_FENCEDESTROYFTRACEEVENT']._serialized_start=77603 + _globals['_FENCEDESTROYFTRACEEVENT']._serialized_end=77694 + _globals['_FENCEENABLESIGNALFTRACEEVENT']._serialized_start=77696 + _globals['_FENCEENABLESIGNALFTRACEEVENT']._serialized_end=77792 + _globals['_FENCESIGNALEDFTRACEEVENT']._serialized_start=77794 + _globals['_FENCESIGNALEDFTRACEEVENT']._serialized_end=77886 + _globals['_MMFILEMAPADDTOPAGECACHEFTRACEEVENT']._serialized_start=77888 + _globals['_MMFILEMAPADDTOPAGECACHEFTRACEEVENT']._serialized_end=77996 + _globals['_MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT']._serialized_start=77998 + _globals['_MMFILEMAPDELETEFROMPAGECACHEFTRACEEVENT']._serialized_end=78111 + _globals['_PRINTFTRACEEVENT']._serialized_start=78113 + _globals['_PRINTFTRACEEVENT']._serialized_end=78156 + _globals['_FUNCGRAPHENTRYFTRACEEVENT']._serialized_start=78158 + _globals['_FUNCGRAPHENTRYFTRACEEVENT']._serialized_end=78214 + _globals['_FUNCGRAPHEXITFTRACEEVENT']._serialized_start=78216 + _globals['_FUNCGRAPHEXITFTRACEEVENT']._serialized_end=78323 + _globals['_G2DTRACINGMARKWRITEFTRACEEVENT']._serialized_start=78325 + _globals['_G2DTRACINGMARKWRITEFTRACEEVENT']._serialized_end=78413 + _globals['_GENERICFTRACEEVENT']._serialized_start=78416 + _globals['_GENERICFTRACEEVENT']._serialized_end=78610 + _globals['_GENERICFTRACEEVENT_FIELD']._serialized_start=78516 + _globals['_GENERICFTRACEEVENT_FIELD']._serialized_end=78610 + _globals['_GOOGLEICCEVENTFTRACEEVENT']._serialized_start=78612 + _globals['_GOOGLEICCEVENTFTRACEEVENT']._serialized_end=78673 + _globals['_GOOGLEIRMEVENTFTRACEEVENT']._serialized_start=78675 + _globals['_GOOGLEIRMEVENTFTRACEEVENT']._serialized_end=78736 + _globals['_GPUMEMTOTALFTRACEEVENT']._serialized_start=78738 + _globals['_GPUMEMTOTALFTRACEEVENT']._serialized_end=78805 + _globals['_DRMSCHEDJOBFTRACEEVENT']._serialized_start=78807 + _globals['_DRMSCHEDJOBFTRACEEVENT']._serialized_end=78929 + _globals['_DRMRUNJOBFTRACEEVENT']._serialized_start=78931 + _globals['_DRMRUNJOBFTRACEEVENT']._serialized_end=79051 + _globals['_DRMSCHEDPROCESSJOBFTRACEEVENT']._serialized_start=79053 + _globals['_DRMSCHEDPROCESSJOBFTRACEEVENT']._serialized_end=79099 + _globals['_HYPENTERFTRACEEVENT']._serialized_start=79101 + _globals['_HYPENTERFTRACEEVENT']._serialized_end=79122 + _globals['_HYPEXITFTRACEEVENT']._serialized_start=79124 + _globals['_HYPEXITFTRACEEVENT']._serialized_end=79144 + _globals['_HOSTHCALLFTRACEEVENT']._serialized_start=79146 + _globals['_HOSTHCALLFTRACEEVENT']._serialized_end=79197 + _globals['_HOSTSMCFTRACEEVENT']._serialized_start=79199 + _globals['_HOSTSMCFTRACEEVENT']._serialized_end=79250 + _globals['_HOSTMEMABORTFTRACEEVENT']._serialized_start=79252 + _globals['_HOSTMEMABORTFTRACEEVENT']._serialized_end=79304 + _globals['_I2CREADFTRACEEVENT']._serialized_start=79306 + _globals['_I2CREADFTRACEEVENT']._serialized_end=79404 + _globals['_I2CWRITEFTRACEEVENT']._serialized_start=79406 + _globals['_I2CWRITEFTRACEEVENT']._serialized_end=79518 + _globals['_I2CRESULTFTRACEEVENT']._serialized_start=79520 + _globals['_I2CRESULTFTRACEEVENT']._serialized_end=79592 + _globals['_I2CREPLYFTRACEEVENT']._serialized_start=79594 + _globals['_I2CREPLYFTRACEEVENT']._serialized_end=79706 + _globals['_SMBUSREADFTRACEEVENT']._serialized_start=79708 + _globals['_SMBUSREADFTRACEEVENT']._serialized_end=79814 + _globals['_SMBUSWRITEFTRACEEVENT']._serialized_start=79816 + _globals['_SMBUSWRITEFTRACEEVENT']._serialized_end=79936 + _globals['_SMBUSRESULTFTRACEEVENT']._serialized_start=79939 + _globals['_SMBUSRESULTFTRACEEVENT']._serialized_end=80080 + _globals['_SMBUSREPLYFTRACEEVENT']._serialized_start=80082 + _globals['_SMBUSREPLYFTRACEEVENT']._serialized_end=80202 + _globals['_IONSTATFTRACEEVENT']._serialized_start=80204 + _globals['_IONSTATFTRACEEVENT']._serialized_end=80281 + _globals['_IPIENTRYFTRACEEVENT']._serialized_start=80283 + _globals['_IPIENTRYFTRACEEVENT']._serialized_end=80320 + _globals['_IPIEXITFTRACEEVENT']._serialized_start=80322 + _globals['_IPIEXITFTRACEEVENT']._serialized_end=80358 + _globals['_IPIRAISEFTRACEEVENT']._serialized_start=80360 + _globals['_IPIRAISEFTRACEEVENT']._serialized_end=80418 + _globals['_SOFTIRQENTRYFTRACEEVENT']._serialized_start=80420 + _globals['_SOFTIRQENTRYFTRACEEVENT']._serialized_end=80458 + _globals['_SOFTIRQEXITFTRACEEVENT']._serialized_start=80460 + _globals['_SOFTIRQEXITFTRACEEVENT']._serialized_end=80497 + _globals['_SOFTIRQRAISEFTRACEEVENT']._serialized_start=80499 + _globals['_SOFTIRQRAISEFTRACEEVENT']._serialized_end=80537 + _globals['_IRQHANDLERENTRYFTRACEEVENT']._serialized_start=80539 + _globals['_IRQHANDLERENTRYFTRACEEVENT']._serialized_end=80611 + _globals['_IRQHANDLEREXITFTRACEEVENT']._serialized_start=80613 + _globals['_IRQHANDLEREXITFTRACEEVENT']._serialized_end=80666 + _globals['_KGSLGPUFREQUENCYFTRACEEVENT']._serialized_start=80668 + _globals['_KGSLGPUFREQUENCYFTRACEEVENT']._serialized_end=80731 + _globals['_KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT']._serialized_start=80733 + _globals['_KGSLADRENOCMDBATCHQUEUEDFTRACEEVENT']._serialized_end=80846 + _globals['_KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT']._serialized_start=80849 + _globals['_KGSLADRENOCMDBATCHSUBMITTEDFTRACEEVENT']._serialized_end=81098 + _globals['_KGSLADRENOCMDBATCHSYNCFTRACEEVENT']._serialized_start=81100 + _globals['_KGSLADRENOCMDBATCHSYNCFTRACEEVENT']._serialized_end=81195 + _globals['_KGSLADRENOCMDBATCHRETIREDFTRACEEVENT']._serialized_start=81198 + _globals['_KGSLADRENOCMDBATCHRETIREDFTRACEEVENT']._serialized_end=81539 + _globals['_ALLOCPAGESIOMMUENDFTRACEEVENT']._serialized_start=81541 + _globals['_ALLOCPAGESIOMMUENDFTRACEEVENT']._serialized_end=81606 + _globals['_ALLOCPAGESIOMMUFAILFTRACEEVENT']._serialized_start=81608 + _globals['_ALLOCPAGESIOMMUFAILFTRACEEVENT']._serialized_end=81674 + _globals['_ALLOCPAGESIOMMUSTARTFTRACEEVENT']._serialized_start=81676 + _globals['_ALLOCPAGESIOMMUSTARTFTRACEEVENT']._serialized_end=81743 + _globals['_ALLOCPAGESSYSENDFTRACEEVENT']._serialized_start=81745 + _globals['_ALLOCPAGESSYSENDFTRACEEVENT']._serialized_end=81808 + _globals['_ALLOCPAGESSYSFAILFTRACEEVENT']._serialized_start=81810 + _globals['_ALLOCPAGESSYSFAILFTRACEEVENT']._serialized_end=81874 + _globals['_ALLOCPAGESSYSSTARTFTRACEEVENT']._serialized_start=81876 + _globals['_ALLOCPAGESSYSSTARTFTRACEEVENT']._serialized_end=81941 + _globals['_DMAALLOCCONTIGUOUSRETRYFTRACEEVENT']._serialized_start=81943 + _globals['_DMAALLOCCONTIGUOUSRETRYFTRACEEVENT']._serialized_end=81994 + _globals['_IOMMUMAPRANGEFTRACEEVENT']._serialized_start=81996 + _globals['_IOMMUMAPRANGEFTRACEEVENT']._serialized_end=82079 + _globals['_IOMMUSECPTBLMAPRANGEENDFTRACEEVENT']._serialized_start=82081 + _globals['_IOMMUSECPTBLMAPRANGEENDFTRACEEVENT']._serialized_end=82183 + _globals['_IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT']._serialized_start=82185 + _globals['_IOMMUSECPTBLMAPRANGESTARTFTRACEEVENT']._serialized_end=82289 + _globals['_IONALLOCBUFFERENDFTRACEEVENT']._serialized_start=82291 + _globals['_IONALLOCBUFFERENDFTRACEEVENT']._serialized_end=82403 + _globals['_IONALLOCBUFFERFAILFTRACEEVENT']._serialized_start=82406 + _globals['_IONALLOCBUFFERFAILFTRACEEVENT']._serialized_end=82534 + _globals['_IONALLOCBUFFERFALLBACKFTRACEEVENT']._serialized_start=82537 + _globals['_IONALLOCBUFFERFALLBACKFTRACEEVENT']._serialized_end=82669 + _globals['_IONALLOCBUFFERSTARTFTRACEEVENT']._serialized_start=82671 + _globals['_IONALLOCBUFFERSTARTFTRACEEVENT']._serialized_end=82785 + _globals['_IONCPALLOCRETRYFTRACEEVENT']._serialized_start=82787 + _globals['_IONCPALLOCRETRYFTRACEEVENT']._serialized_end=82830 + _globals['_IONCPSECUREBUFFERENDFTRACEEVENT']._serialized_start=82832 + _globals['_IONCPSECUREBUFFERENDFTRACEEVENT']._serialized_end=82927 + _globals['_IONCPSECUREBUFFERSTARTFTRACEEVENT']._serialized_start=82929 + _globals['_IONCPSECUREBUFFERSTARTFTRACEEVENT']._serialized_end=83026 + _globals['_IONPREFETCHINGFTRACEEVENT']._serialized_start=83028 + _globals['_IONPREFETCHINGFTRACEEVENT']._serialized_end=83068 + _globals['_IONSECURECMAADDTOPOOLENDFTRACEEVENT']._serialized_start=83070 + _globals['_IONSECURECMAADDTOPOOLENDFTRACEEVENT']._serialized_end=83161 + _globals['_IONSECURECMAADDTOPOOLSTARTFTRACEEVENT']._serialized_start=83163 + _globals['_IONSECURECMAADDTOPOOLSTARTFTRACEEVENT']._serialized_end=83256 + _globals['_IONSECURECMAALLOCATEENDFTRACEEVENT']._serialized_start=83258 + _globals['_IONSECURECMAALLOCATEENDFTRACEEVENT']._serialized_end=83356 + _globals['_IONSECURECMAALLOCATESTARTFTRACEEVENT']._serialized_start=83358 + _globals['_IONSECURECMAALLOCATESTARTFTRACEEVENT']._serialized_end=83458 + _globals['_IONSECURECMASHRINKPOOLENDFTRACEEVENT']._serialized_start=83460 + _globals['_IONSECURECMASHRINKPOOLENDFTRACEEVENT']._serialized_end=83542 + _globals['_IONSECURECMASHRINKPOOLSTARTFTRACEEVENT']._serialized_start=83544 + _globals['_IONSECURECMASHRINKPOOLSTARTFTRACEEVENT']._serialized_end=83628 + _globals['_KFREEFTRACEEVENT']._serialized_start=83630 + _globals['_KFREEFTRACEEVENT']._serialized_end=83680 + _globals['_KMALLOCFTRACEEVENT']._serialized_start=83682 + _globals['_KMALLOCFTRACEEVENT']._serialized_end=83793 + _globals['_KMALLOCNODEFTRACEEVENT']._serialized_start=83796 + _globals['_KMALLOCNODEFTRACEEVENT']._serialized_end=83925 + _globals['_KMEMCACHEALLOCFTRACEEVENT']._serialized_start=83927 + _globals['_KMEMCACHEALLOCFTRACEEVENT']._serialized_end=84045 + _globals['_KMEMCACHEALLOCNODEFTRACEEVENT']._serialized_start=84048 + _globals['_KMEMCACHEALLOCNODEFTRACEEVENT']._serialized_end=84184 + _globals['_KMEMCACHEFREEFTRACEEVENT']._serialized_start=84186 + _globals['_KMEMCACHEFREEFTRACEEVENT']._serialized_end=84244 + _globals['_MIGRATEPAGESENDFTRACEEVENT']._serialized_start=84246 + _globals['_MIGRATEPAGESENDFTRACEEVENT']._serialized_end=84288 + _globals['_MIGRATEPAGESSTARTFTRACEEVENT']._serialized_start=84290 + _globals['_MIGRATEPAGESSTARTFTRACEEVENT']._serialized_end=84334 + _globals['_MIGRATERETRYFTRACEEVENT']._serialized_start=84336 + _globals['_MIGRATERETRYFTRACEEVENT']._serialized_end=84376 + _globals['_MMPAGEALLOCFTRACEEVENT']._serialized_start=84378 + _globals['_MMPAGEALLOCFTRACEEVENT']._serialized_end=84484 + _globals['_MMPAGEALLOCEXTFRAGFTRACEEVENT']._serialized_start=84487 + _globals['_MMPAGEALLOCEXTFRAGFTRACEEVENT']._serialized_end=84673 + _globals['_MMPAGEALLOCZONELOCKEDFTRACEEVENT']._serialized_start=84675 + _globals['_MMPAGEALLOCZONELOCKEDFTRACEEVENT']._serialized_end=84772 + _globals['_MMPAGEFREEFTRACEEVENT']._serialized_start=84774 + _globals['_MMPAGEFREEFTRACEEVENT']._serialized_end=84839 + _globals['_MMPAGEFREEBATCHEDFTRACEEVENT']._serialized_start=84841 + _globals['_MMPAGEFREEBATCHEDFTRACEEVENT']._serialized_end=84912 + _globals['_MMPAGEPCPUDRAINFTRACEEVENT']._serialized_start=84914 + _globals['_MMPAGEPCPUDRAINFTRACEEVENT']._serialized_end=85005 + _globals['_RSSSTATFTRACEEVENT']._serialized_start=85007 + _globals['_RSSSTATFTRACEEVENT']._serialized_end=85086 + _globals['_IONHEAPSHRINKFTRACEEVENT']._serialized_start=85088 + _globals['_IONHEAPSHRINKFTRACEEVENT']._serialized_end=85171 + _globals['_IONHEAPGROWFTRACEEVENT']._serialized_start=85173 + _globals['_IONHEAPGROWFTRACEEVENT']._serialized_end=85254 + _globals['_IONBUFFERCREATEFTRACEEVENT']._serialized_start=85256 + _globals['_IONBUFFERCREATEFTRACEEVENT']._serialized_end=85311 + _globals['_IONBUFFERDESTROYFTRACEEVENT']._serialized_start=85313 + _globals['_IONBUFFERDESTROYFTRACEEVENT']._serialized_end=85369 + _globals['_KVMACCESSFAULTFTRACEEVENT']._serialized_start=85371 + _globals['_KVMACCESSFAULTFTRACEEVENT']._serialized_end=85411 + _globals['_KVMACKIRQFTRACEEVENT']._serialized_start=85413 + _globals['_KVMACKIRQFTRACEEVENT']._serialized_end=85465 + _globals['_KVMAGEHVAFTRACEEVENT']._serialized_start=85467 + _globals['_KVMAGEHVAFTRACEEVENT']._serialized_end=85517 + _globals['_KVMAGEPAGEFTRACEEVENT']._serialized_start=85519 + _globals['_KVMAGEPAGEFTRACEEVENT']._serialized_end=85603 + _globals['_KVMARMCLEARDEBUGFTRACEEVENT']._serialized_start=85605 + _globals['_KVMARMCLEARDEBUGFTRACEEVENT']._serialized_end=85655 + _globals['_KVMARMSETDREG32FTRACEEVENT']._serialized_start=85657 + _globals['_KVMARMSETDREG32FTRACEEVENT']._serialized_end=85714 + _globals['_KVMARMSETREGSETFTRACEEVENT']._serialized_start=85716 + _globals['_KVMARMSETREGSETFTRACEEVENT']._serialized_end=85771 + _globals['_KVMARMSETUPDEBUGFTRACEEVENT']._serialized_start=85773 + _globals['_KVMARMSETUPDEBUGFTRACEEVENT']._serialized_end=85837 + _globals['_KVMENTRYFTRACEEVENT']._serialized_start=85839 + _globals['_KVMENTRYFTRACEEVENT']._serialized_end=85877 + _globals['_KVMEXITFTRACEEVENT']._serialized_start=85879 + _globals['_KVMEXITFTRACEEVENT']._serialized_end=85945 + _globals['_KVMFPUFTRACEEVENT']._serialized_start=85947 + _globals['_KVMFPUFTRACEEVENT']._serialized_end=85980 + _globals['_KVMGETTIMERMAPFTRACEEVENT']._serialized_start=85982 + _globals['_KVMGETTIMERMAPFTRACEEVENT']._serialized_end=86093 + _globals['_KVMGUESTFAULTFTRACEEVENT']._serialized_start=86095 + _globals['_KVMGUESTFAULTFTRACEEVENT']._serialized_end=86179 + _globals['_KVMHANDLESYSREGFTRACEEVENT']._serialized_start=86181 + _globals['_KVMHANDLESYSREGFTRACEEVENT']._serialized_end=86222 + _globals['_KVMHVCARM64FTRACEEVENT']._serialized_start=86224 + _globals['_KVMHVCARM64FTRACEEVENT']._serialized_end=86290 + _globals['_KVMIRQLINEFTRACEEVENT']._serialized_start=86292 + _globals['_KVMIRQLINEFTRACEEVENT']._serialized_end=86379 + _globals['_KVMMMIOFTRACEEVENT']._serialized_start=86381 + _globals['_KVMMMIOFTRACEEVENT']._serialized_end=86454 + _globals['_KVMMMIOEMULATEFTRACEEVENT']._serialized_start=86456 + _globals['_KVMMMIOEMULATEFTRACEEVENT']._serialized_end=86529 + _globals['_KVMSETGUESTDEBUGFTRACEEVENT']._serialized_start=86531 + _globals['_KVMSETGUESTDEBUGFTRACEEVENT']._serialized_end=86595 + _globals['_KVMSETIRQFTRACEEVENT']._serialized_start=86597 + _globals['_KVMSETIRQFTRACEEVENT']._serialized_end=86670 + _globals['_KVMSETSPTEHVAFTRACEEVENT']._serialized_start=86672 + _globals['_KVMSETSPTEHVAFTRACEEVENT']._serialized_end=86711 + _globals['_KVMSETWAYFLUSHFTRACEEVENT']._serialized_start=86713 + _globals['_KVMSETWAYFLUSHFTRACEEVENT']._serialized_end=86772 + _globals['_KVMSYSACCESSFTRACEEVENT']._serialized_start=86775 + _globals['_KVMSYSACCESSFTRACEEVENT']._serialized_end=86914 + _globals['_KVMTESTAGEHVAFTRACEEVENT']._serialized_start=86916 + _globals['_KVMTESTAGEHVAFTRACEEVENT']._serialized_end=86955 + _globals['_KVMTIMEREMULATEFTRACEEVENT']._serialized_start=86957 + _globals['_KVMTIMEREMULATEFTRACEEVENT']._serialized_end=87025 + _globals['_KVMTIMERHRTIMEREXPIREFTRACEEVENT']._serialized_start=87027 + _globals['_KVMTIMERHRTIMEREXPIREFTRACEEVENT']._serialized_end=87080 + _globals['_KVMTIMERRESTORESTATEFTRACEEVENT']._serialized_start=87082 + _globals['_KVMTIMERRESTORESTATEFTRACEEVENT']._serialized_end=87161 + _globals['_KVMTIMERSAVESTATEFTRACEEVENT']._serialized_start=87163 + _globals['_KVMTIMERSAVESTATEFTRACEEVENT']._serialized_end=87239 + _globals['_KVMTIMERUPDATEIRQFTRACEEVENT']._serialized_start=87241 + _globals['_KVMTIMERUPDATEIRQFTRACEEVENT']._serialized_end=87316 + _globals['_KVMTOGGLECACHEFTRACEEVENT']._serialized_start=87318 + _globals['_KVMTOGGLECACHEFTRACEEVENT']._serialized_end=87388 + _globals['_KVMUNMAPHVARANGEFTRACEEVENT']._serialized_start=87390 + _globals['_KVMUNMAPHVARANGEFTRACEEVENT']._serialized_end=87447 + _globals['_KVMUSERSPACEEXITFTRACEEVENT']._serialized_start=87449 + _globals['_KVMUSERSPACEEXITFTRACEEVENT']._serialized_end=87494 + _globals['_KVMVCPUWAKEUPFTRACEEVENT']._serialized_start=87496 + _globals['_KVMVCPUWAKEUPFTRACEEVENT']._serialized_end=87565 + _globals['_KVMWFXARM64FTRACEEVENT']._serialized_start=87567 + _globals['_KVMWFXARM64FTRACEEVENT']._serialized_end=87624 + _globals['_TRAPREGFTRACEEVENT']._serialized_start=87626 + _globals['_TRAPREGFTRACEEVENT']._serialized_end=87710 + _globals['_VGICUPDATEIRQPENDINGFTRACEEVENT']._serialized_start=87712 + _globals['_VGICUPDATEIRQPENDINGFTRACEEVENT']._serialized_end=87790 + _globals['_LOWMEMORYKILLFTRACEEVENT']._serialized_start=87792 + _globals['_LOWMEMORYKILLFTRACEEVENT']._serialized_end=87908 + _globals['_LWISTRACINGMARKWRITEFTRACEEVENT']._serialized_start=87910 + _globals['_LWISTRACINGMARKWRITEFTRACEEVENT']._serialized_end=88023 + _globals['_MALITRACINGMARKWRITEFTRACEEVENT']._serialized_start=88025 + _globals['_MALITRACINGMARKWRITEFTRACEEVENT']._serialized_end=88114 + _globals['_MALIMALIKCPUCQSSETFTRACEEVENT']._serialized_start=88116 + _globals['_MALIMALIKCPUCQSSETFTRACEEVENT']._serialized_end=88233 + _globals['_MALIMALIKCPUCQSWAITSTARTFTRACEEVENT']._serialized_start=88235 + _globals['_MALIMALIKCPUCQSWAITSTARTFTRACEEVENT']._serialized_end=88358 + _globals['_MALIMALIKCPUCQSWAITENDFTRACEEVENT']._serialized_start=88360 + _globals['_MALIMALIKCPUCQSWAITENDFTRACEEVENT']._serialized_end=88481 + _globals['_MALIMALIKCPUFENCESIGNALFTRACEEVENT']._serialized_start=88483 + _globals['_MALIMALIKCPUFENCESIGNALFTRACEEVENT']._serialized_end=88605 + _globals['_MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT']._serialized_start=88607 + _globals['_MALIMALIKCPUFENCEWAITSTARTFTRACEEVENT']._serialized_end=88732 + _globals['_MALIMALIKCPUFENCEWAITENDFTRACEEVENT']._serialized_start=88734 + _globals['_MALIMALIKCPUFENCEWAITENDFTRACEEVENT']._serialized_end=88857 + _globals['_MALIMALICSFINTERRUPTSTARTFTRACEEVENT']._serialized_start=88859 + _globals['_MALIMALICSFINTERRUPTSTARTFTRACEEVENT']._serialized_end=88951 + _globals['_MALIMALICSFINTERRUPTENDFTRACEEVENT']._serialized_start=88953 + _globals['_MALIMALICSFINTERRUPTENDFTRACEEVENT']._serialized_end=89043 + _globals['_MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT']._serialized_start=89045 + _globals['_MALIMALIPMMCUHCTLCORESDOWNSCALENOTIFYPENDFTRACEEVENT']._serialized_end=89153 + _globals['_MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT']._serialized_start=89155 + _globals['_MALIMALIPMMCUHCTLCORESNOTIFYPENDFTRACEEVENT']._serialized_end=89254 + _globals['_MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT']._serialized_start=89256 + _globals['_MALIMALIPMMCUHCTLCOREINACTIVEPENDFTRACEEVENT']._serialized_end=89356 + _globals['_MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT']._serialized_start=89358 + _globals['_MALIMALIPMMCUHCTLMCUONRECHECKFTRACEEVENT']._serialized_end=89454 + _globals['_MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT']._serialized_start=89456 + _globals['_MALIMALIPMMCUHCTLSHADERSCOREOFFPENDFTRACEEVENT']._serialized_end=89558 + _globals['_MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT']._serialized_start=89560 + _globals['_MALIMALIPMMCUHCTLSHADERSPENDOFFFTRACEEVENT']._serialized_end=89658 + _globals['_MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT']._serialized_start=89660 + _globals['_MALIMALIPMMCUHCTLSHADERSPENDONFTRACEEVENT']._serialized_end=89757 + _globals['_MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT']._serialized_start=89759 + _globals['_MALIMALIPMMCUHCTLSHADERSREADYOFFFTRACEEVENT']._serialized_end=89858 + _globals['_MALIMALIPMMCUINSLEEPFTRACEEVENT']._serialized_start=89860 + _globals['_MALIMALIPMMCUINSLEEPFTRACEEVENT']._serialized_end=89947 + _globals['_MALIMALIPMMCUOFFFTRACEEVENT']._serialized_start=89949 + _globals['_MALIMALIPMMCUOFFFTRACEEVENT']._serialized_end=90032 + _globals['_MALIMALIPMMCUONFTRACEEVENT']._serialized_start=90034 + _globals['_MALIMALIPMMCUONFTRACEEVENT']._serialized_end=90116 + _globals['_MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT']._serialized_start=90118 + _globals['_MALIMALIPMMCUONCOREATTRUPDATEPENDFTRACEEVENT']._serialized_end=90218 + _globals['_MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT']._serialized_start=90220 + _globals['_MALIMALIPMMCUONGLBREINITPENDFTRACEEVENT']._serialized_end=90315 + _globals['_MALIMALIPMMCUONHALTFTRACEEVENT']._serialized_start=90317 + _globals['_MALIMALIPMMCUONHALTFTRACEEVENT']._serialized_end=90403 + _globals['_MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT']._serialized_start=90405 + _globals['_MALIMALIPMMCUONHWCNTDISABLEFTRACEEVENT']._serialized_end=90499 + _globals['_MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT']._serialized_start=90501 + _globals['_MALIMALIPMMCUONHWCNTENABLEFTRACEEVENT']._serialized_end=90594 + _globals['_MALIMALIPMMCUONPENDHALTFTRACEEVENT']._serialized_start=90596 + _globals['_MALIMALIPMMCUONPENDHALTFTRACEEVENT']._serialized_end=90686 + _globals['_MALIMALIPMMCUONPENDSLEEPFTRACEEVENT']._serialized_start=90688 + _globals['_MALIMALIPMMCUONPENDSLEEPFTRACEEVENT']._serialized_end=90779 + _globals['_MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT']._serialized_start=90781 + _globals['_MALIMALIPMMCUONSLEEPINITIATEFTRACEEVENT']._serialized_end=90876 + _globals['_MALIMALIPMMCUPENDOFFFTRACEEVENT']._serialized_start=90878 + _globals['_MALIMALIPMMCUPENDOFFFTRACEEVENT']._serialized_end=90965 + _globals['_MALIMALIPMMCUPENDONRELOADFTRACEEVENT']._serialized_start=90967 + _globals['_MALIMALIPMMCUPENDONRELOADFTRACEEVENT']._serialized_end=91059 + _globals['_MALIMALIPMMCUPOWERDOWNFTRACEEVENT']._serialized_start=91061 + _globals['_MALIMALIPMMCUPOWERDOWNFTRACEEVENT']._serialized_end=91150 + _globals['_MALIMALIPMMCURESETWAITFTRACEEVENT']._serialized_start=91152 + _globals['_MALIMALIPMMCURESETWAITFTRACEEVENT']._serialized_end=91241 + _globals['_MDPCMDKICKOFFFTRACEEVENT']._serialized_start=91243 + _globals['_MDPCMDKICKOFFFTRACEEVENT']._serialized_end=91307 + _globals['_MDPCOMMITFTRACEEVENT']._serialized_start=91309 + _globals['_MDPCOMMITFTRACEEVENT']._serialized_end=91399 + _globals['_MDPPERFSETOTFTRACEEVENT']._serialized_start=91401 + _globals['_MDPPERFSETOTFTRACEEVENT']._serialized_end=91492 + _globals['_MDPSSPPCHANGEFTRACEEVENT']._serialized_start=91495 + _globals['_MDPSSPPCHANGEFTRACEEVENT']._serialized_end=91763 + _globals['_TRACINGMARKWRITEFTRACEEVENT']._serialized_start=91765 + _globals['_TRACINGMARKWRITEFTRACEEVENT']._serialized_end=91848 + _globals['_MDPCMDPINGPONGDONEFTRACEEVENT']._serialized_start=91850 + _globals['_MDPCMDPINGPONGDONEFTRACEEVENT']._serialized_end=91950 + _globals['_MDPCOMPAREBWFTRACEEVENT']._serialized_start=91953 + _globals['_MDPCOMPAREBWFTRACEEVENT']._serialized_end=92117 + _globals['_MDPPERFSETPANICLUTSFTRACEEVENT']._serialized_start=92119 + _globals['_MDPPERFSETPANICLUTSFTRACEEVENT']._serialized_end=92231 + _globals['_MDPSSPPSETFTRACEEVENT']._serialized_start=92234 + _globals['_MDPSSPPSETFTRACEEVENT']._serialized_end=92499 + _globals['_MDPCMDREADPTRDONEFTRACEEVENT']._serialized_start=92501 + _globals['_MDPCMDREADPTRDONEFTRACEEVENT']._serialized_end=92566 + _globals['_MDPMISRCRCFTRACEEVENT']._serialized_start=92568 + _globals['_MDPMISRCRCFTRACEEVENT']._serialized_end=92641 + _globals['_MDPPERFSETQOSLUTSFTRACEEVENT']._serialized_start=92643 + _globals['_MDPPERFSETQOSLUTSFTRACEEVENT']._serialized_end=92768 + _globals['_MDPTRACECOUNTERFTRACEEVENT']._serialized_start=92770 + _globals['_MDPTRACECOUNTERFTRACEEVENT']._serialized_end=92848 + _globals['_MDPCMDRELEASEBWFTRACEEVENT']._serialized_start=92850 + _globals['_MDPCMDRELEASEBWFTRACEEVENT']._serialized_end=92895 + _globals['_MDPMIXERUPDATEFTRACEEVENT']._serialized_start=92897 + _globals['_MDPMIXERUPDATEFTRACEEVENT']._serialized_end=92943 + _globals['_MDPPERFSETWMLEVELSFTRACEEVENT']._serialized_start=92946 + _globals['_MDPPERFSETWMLEVELSFTRACEEVENT']._serialized_end=93106 + _globals['_MDPVIDEOUNDERRUNDONEFTRACEEVENT']._serialized_start=93108 + _globals['_MDPVIDEOUNDERRUNDONEFTRACEEVENT']._serialized_end=93180 + _globals['_MDPCMDWAITPINGPONGFTRACEEVENT']._serialized_start=93182 + _globals['_MDPCMDWAITPINGPONGFTRACEEVENT']._serialized_end=93251 + _globals['_MDPPERFPREFILLCALCFTRACEEVENT']._serialized_start=93254 + _globals['_MDPPERFPREFILLCALCFTRACEEVENT']._serialized_end=93460 + _globals['_MDPPERFUPDATEBUSFTRACEEVENT']._serialized_start=93462 + _globals['_MDPPERFUPDATEBUSFTRACEEVENT']._serialized_end=93543 + _globals['_ROTATORBWAOASCONTEXTFTRACEEVENT']._serialized_start=93545 + _globals['_ROTATORBWAOASCONTEXTFTRACEEVENT']._serialized_end=93593 + _globals['_MMEVENTRECORDFTRACEEVENT']._serialized_start=93595 + _globals['_MMEVENTRECORDFTRACEEVENT']._serialized_end=93684 + _globals['_NETIFRECEIVESKBFTRACEEVENT']._serialized_start=93686 + _globals['_NETIFRECEIVESKBFTRACEEVENT']._serialized_end=93758 + _globals['_NETDEVXMITFTRACEEVENT']._serialized_start=93760 + _globals['_NETDEVXMITFTRACEEVENT']._serialized_end=93839 + _globals['_NAPIGRORECEIVEENTRYFTRACEEVENT']._serialized_start=93842 + _globals['_NAPIGRORECEIVEENTRYFTRACEEVENT']._serialized_end=94221 + _globals['_NAPIGRORECEIVEEXITFTRACEEVENT']._serialized_start=94223 + _globals['_NAPIGRORECEIVEEXITFTRACEEVENT']._serialized_end=94267 + _globals['_OOMSCOREADJUPDATEFTRACEEVENT']._serialized_start=94269 + _globals['_OOMSCOREADJUPDATEFTRACEEVENT']._serialized_end=94349 + _globals['_MARKVICTIMFTRACEEVENT']._serialized_start=94351 + _globals['_MARKVICTIMFTRACEEVENT']._serialized_end=94387 + _globals['_DSICMDFIFOSTATUSFTRACEEVENT']._serialized_start=94389 + _globals['_DSICMDFIFOSTATUSFTRACEEVENT']._serialized_end=94451 + _globals['_DSIRXFTRACEEVENT']._serialized_start=94453 + _globals['_DSIRXFTRACEEVENT']._serialized_end=94500 + _globals['_DSITXFTRACEEVENT']._serialized_start=94502 + _globals['_DSITXFTRACEEVENT']._serialized_end=94564 + _globals['_PANELWRITEGENERICFTRACEEVENT']._serialized_start=94566 + _globals['_PANELWRITEGENERICFTRACEEVENT']._serialized_end=94693 + _globals['_SCHEDSWITCHWITHCTRSFTRACEEVENT']._serialized_start=94696 + _globals['_SCHEDSWITCHWITHCTRSFTRACEEVENT']._serialized_end=94985 + _globals['_CPUFREQUENCYFTRACEEVENT']._serialized_start=94987 + _globals['_CPUFREQUENCYFTRACEEVENT']._serialized_end=95043 + _globals['_CPUFREQUENCYLIMITSFTRACEEVENT']._serialized_start=95045 + _globals['_CPUFREQUENCYLIMITSFTRACEEVENT']._serialized_end=95128 + _globals['_CPUIDLEFTRACEEVENT']._serialized_start=95130 + _globals['_CPUIDLEFTRACEEVENT']._serialized_end=95181 + _globals['_CLOCKENABLEFTRACEEVENT']._serialized_start=95183 + _globals['_CLOCKENABLEFTRACEEVENT']._serialized_end=95252 + _globals['_CLOCKDISABLEFTRACEEVENT']._serialized_start=95254 + _globals['_CLOCKDISABLEFTRACEEVENT']._serialized_end=95324 + _globals['_CLOCKSETRATEFTRACEEVENT']._serialized_start=95326 + _globals['_CLOCKSETRATEFTRACEEVENT']._serialized_end=95396 + _globals['_SUSPENDRESUMEFTRACEEVENT']._serialized_start=95398 + _globals['_SUSPENDRESUMEFTRACEEVENT']._serialized_end=95468 + _globals['_GPUFREQUENCYFTRACEEVENT']._serialized_start=95470 + _globals['_GPUFREQUENCYFTRACEEVENT']._serialized_end=95526 + _globals['_WAKEUPSOURCEACTIVATEFTRACEEVENT']._serialized_start=95528 + _globals['_WAKEUPSOURCEACTIVATEFTRACEEVENT']._serialized_end=95590 + _globals['_WAKEUPSOURCEDEACTIVATEFTRACEEVENT']._serialized_start=95592 + _globals['_WAKEUPSOURCEDEACTIVATEFTRACEEVENT']._serialized_end=95656 + _globals['_GPUWORKPERIODFTRACEEVENT']._serialized_start=95659 + _globals['_GPUWORKPERIODFTRACEEVENT']._serialized_end=95792 + _globals['_DEVICEPMCALLBACKSTARTFTRACEEVENT']._serialized_start=95794 + _globals['_DEVICEPMCALLBACKSTARTFTRACEEVENT']._serialized_end=95907 + _globals['_DEVICEPMCALLBACKENDFTRACEEVENT']._serialized_start=95909 + _globals['_DEVICEPMCALLBACKENDFTRACEEVENT']._serialized_end=95988 + _globals['_CONSOLEFTRACEEVENT']._serialized_start=95990 + _globals['_CONSOLEFTRACEEVENT']._serialized_end=96023 + _globals['_SYSENTERFTRACEEVENT']._serialized_start=96025 + _globals['_SYSENTERFTRACEEVENT']._serialized_end=96072 + _globals['_SYSEXITFTRACEEVENT']._serialized_start=96074 + _globals['_SYSEXITFTRACEEVENT']._serialized_end=96119 + _globals['_REGULATORDISABLEFTRACEEVENT']._serialized_start=96121 + _globals['_REGULATORDISABLEFTRACEEVENT']._serialized_end=96164 + _globals['_REGULATORDISABLECOMPLETEFTRACEEVENT']._serialized_start=96166 + _globals['_REGULATORDISABLECOMPLETEFTRACEEVENT']._serialized_end=96217 + _globals['_REGULATORENABLEFTRACEEVENT']._serialized_start=96219 + _globals['_REGULATORENABLEFTRACEEVENT']._serialized_end=96261 + _globals['_REGULATORENABLECOMPLETEFTRACEEVENT']._serialized_start=96263 + _globals['_REGULATORENABLECOMPLETEFTRACEEVENT']._serialized_end=96313 + _globals['_REGULATORENABLEDELAYFTRACEEVENT']._serialized_start=96315 + _globals['_REGULATORENABLEDELAYFTRACEEVENT']._serialized_end=96362 + _globals['_REGULATORSETVOLTAGEFTRACEEVENT']._serialized_start=96364 + _globals['_REGULATORSETVOLTAGEFTRACEEVENT']._serialized_end=96436 + _globals['_REGULATORSETVOLTAGECOMPLETEFTRACEEVENT']._serialized_start=96438 + _globals['_REGULATORSETVOLTAGECOMPLETEFTRACEEVENT']._serialized_end=96505 + _globals['_RPMSTATUSFTRACEEVENT']._serialized_start=96507 + _globals['_RPMSTATUSFTRACEEVENT']._serialized_end=96559 + _globals['_SAMSUNGTRACINGMARKWRITEFTRACEEVENT']._serialized_start=96561 + _globals['_SAMSUNGTRACINGMARKWRITEFTRACEEVENT']._serialized_end=96686 + _globals['_SCHEDSWITCHFTRACEEVENT']._serialized_start=96689 + _globals['_SCHEDSWITCHFTRACEEVENT']._serialized_end=96845 + _globals['_SCHEDWAKEUPFTRACEEVENT']._serialized_start=96847 + _globals['_SCHEDWAKEUPFTRACEEVENT']._serialized_end=96949 + _globals['_SCHEDBLOCKEDREASONFTRACEEVENT']._serialized_start=96951 + _globals['_SCHEDBLOCKEDREASONFTRACEEVENT']._serialized_end=97028 + _globals['_SCHEDCPUHOTPLUGFTRACEEVENT']._serialized_start=97030 + _globals['_SCHEDCPUHOTPLUGFTRACEEVENT']._serialized_end=97111 + _globals['_SCHEDWAKINGFTRACEEVENT']._serialized_start=97113 + _globals['_SCHEDWAKINGFTRACEEVENT']._serialized_end=97215 + _globals['_SCHEDWAKEUPNEWFTRACEEVENT']._serialized_start=97217 + _globals['_SCHEDWAKEUPNEWFTRACEEVENT']._serialized_end=97322 + _globals['_SCHEDPROCESSEXECFTRACEEVENT']._serialized_start=97324 + _globals['_SCHEDPROCESSEXECFTRACEEVENT']._serialized_end=97401 + _globals['_SCHEDPROCESSEXITFTRACEEVENT']._serialized_start=97403 + _globals['_SCHEDPROCESSEXITFTRACEEVENT']._serialized_end=97487 + _globals['_SCHEDPROCESSFORKFTRACEEVENT']._serialized_start=97489 + _globals['_SCHEDPROCESSFORKFTRACEEVENT']._serialized_end=97598 + _globals['_SCHEDPROCESSFREEFTRACEEVENT']._serialized_start=97600 + _globals['_SCHEDPROCESSFREEFTRACEEVENT']._serialized_end=97670 + _globals['_SCHEDPROCESSHANGFTRACEEVENT']._serialized_start=97672 + _globals['_SCHEDPROCESSHANGFTRACEEVENT']._serialized_end=97728 + _globals['_SCHEDPROCESSWAITFTRACEEVENT']._serialized_start=97730 + _globals['_SCHEDPROCESSWAITFTRACEEVENT']._serialized_end=97800 + _globals['_SCHEDPISETPRIOFTRACEEVENT']._serialized_start=97802 + _globals['_SCHEDPISETPRIOFTRACEEVENT']._serialized_end=97890 + _globals['_SCHEDCPUUTILCFSFTRACEEVENT']._serialized_start=97893 + _globals['_SCHEDCPUUTILCFSFTRACEEVENT']._serialized_end=98221 + _globals['_SCHEDMIGRATETASKFTRACEEVENT']._serialized_start=98224 + _globals['_SCHEDMIGRATETASKFTRACEEVENT']._serialized_end=98361 + _globals['_SCMCALLSTARTFTRACEEVENT']._serialized_start=98363 + _globals['_SCMCALLSTARTFTRACEEVENT']._serialized_end=98429 + _globals['_SCMCALLENDFTRACEEVENT']._serialized_start=98431 + _globals['_SCMCALLENDFTRACEEVENT']._serialized_end=98454 + _globals['_SDETRACINGMARKWRITEFTRACEEVENT']._serialized_start=98456 + _globals['_SDETRACINGMARKWRITEFTRACEEVENT']._serialized_end=98577 + _globals['_SDESDEEVTLOGFTRACEEVENT']._serialized_start=98579 + _globals['_SDESDEEVTLOGFTRACEEVENT']._serialized_end=98653 + _globals['_SDESDEPERFCALCCRTCFTRACEEVENT']._serialized_start=98656 + _globals['_SDESDEPERFCALCCRTCFTRACEEVENT']._serialized_end=98836 + _globals['_SDESDEPERFCRTCUPDATEFTRACEEVENT']._serialized_start=98839 + _globals['_SDESDEPERFCRTCUPDATEFTRACEEVENT']._serialized_end=99122 + _globals['_SDESDEPERFSETQOSLUTSFTRACEEVENT']._serialized_start=99124 + _globals['_SDESDEPERFSETQOSLUTSFTRACEEVENT']._serialized_end=99240 + _globals['_SDESDEPERFUPDATEBUSFTRACEEVENT']._serialized_start=99242 + _globals['_SDESDEPERFUPDATEBUSFTRACEEVENT']._serialized_end=99342 + _globals['_SIGNALDELIVERFTRACEEVENT']._serialized_start=99344 + _globals['_SIGNALDELIVERFTRACEEVENT']._serialized_end=99415 + _globals['_SIGNALGENERATEFTRACEEVENT']._serialized_start=99417 + _globals['_SIGNALGENERATEFTRACEEVENT']._serialized_end=99529 + _globals['_KFREESKBFTRACEEVENT']._serialized_start=99531 + _globals['_KFREESKBFTRACEEVENT']._serialized_end=99605 + _globals['_INETSOCKSETSTATEFTRACEEVENT']._serialized_start=99608 + _globals['_INETSOCKSETSTATEFTRACEEVENT']._serialized_end=99783 + _globals['_SYNCPTFTRACEEVENT']._serialized_start=99785 + _globals['_SYNCPTFTRACEEVENT']._serialized_end=99837 + _globals['_SYNCTIMELINEFTRACEEVENT']._serialized_start=99839 + _globals['_SYNCTIMELINEFTRACEEVENT']._serialized_end=99893 + _globals['_SYNCWAITFTRACEEVENT']._serialized_start=99895 + _globals['_SYNCWAITFTRACEEVENT']._serialized_end=99961 + _globals['_RSSSTATTHROTTLEDFTRACEEVENT']._serialized_start=99963 + _globals['_RSSSTATTHROTTLEDFTRACEEVENT']._serialized_end=100051 + _globals['_SUSPENDRESUMEMINIMALFTRACEEVENT']._serialized_start=100053 + _globals['_SUSPENDRESUMEMINIMALFTRACEEVENT']._serialized_end=100101 + _globals['_ZEROFTRACEEVENT']._serialized_start=100103 + _globals['_ZEROFTRACEEVENT']._serialized_end=100176 + _globals['_TASKNEWTASKFTRACEEVENT']._serialized_start=100178 + _globals['_TASKNEWTASKFTRACEEVENT']._serialized_end=100273 + _globals['_TASKRENAMEFTRACEEVENT']._serialized_start=100275 + _globals['_TASKRENAMEFTRACEEVENT']._serialized_end=100368 + _globals['_TCPRETRANSMITSKBFTRACEEVENT']._serialized_start=100371 + _globals['_TCPRETRANSMITSKBFTRACEEVENT']._serialized_end=100508 + _globals['_THERMALTEMPERATUREFTRACEEVENT']._serialized_start=100510 + _globals['_THERMALTEMPERATUREFTRACEEVENT']._serialized_end=100608 + _globals['_CDEVUPDATEFTRACEEVENT']._serialized_start=100610 + _globals['_CDEVUPDATEFTRACEEVENT']._serialized_end=100663 + _globals['_THERMALEXYNOSACPMBULKFTRACEEVENT']._serialized_start=100666 + _globals['_THERMALEXYNOSACPMBULKFTRACEEVENT']._serialized_end=100894 + _globals['_THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT']._serialized_start=100897 + _globals['_THERMALEXYNOSACPMHIGHOVERHEADFTRACEEVENT']._serialized_end=101059 + _globals['_TRUSTYSMCFTRACEEVENT']._serialized_start=101061 + _globals['_TRUSTYSMCFTRACEEVENT']._serialized_end=101131 + _globals['_TRUSTYSMCDONEFTRACEEVENT']._serialized_start=101133 + _globals['_TRUSTYSMCDONEFTRACEEVENT']._serialized_end=101172 + _globals['_TRUSTYSTDCALL32FTRACEEVENT']._serialized_start=101174 + _globals['_TRUSTYSTDCALL32FTRACEEVENT']._serialized_end=101250 + _globals['_TRUSTYSTDCALL32DONEFTRACEEVENT']._serialized_start=101252 + _globals['_TRUSTYSTDCALL32DONEFTRACEEVENT']._serialized_end=101297 + _globals['_TRUSTYSHAREMEMORYFTRACEEVENT']._serialized_start=101299 + _globals['_TRUSTYSHAREMEMORYFTRACEEVENT']._serialized_end=101371 + _globals['_TRUSTYSHAREMEMORYDONEFTRACEEVENT']._serialized_start=101373 + _globals['_TRUSTYSHAREMEMORYDONEFTRACEEVENT']._serialized_end=101478 + _globals['_TRUSTYRECLAIMMEMORYFTRACEEVENT']._serialized_start=101480 + _globals['_TRUSTYRECLAIMMEMORYFTRACEEVENT']._serialized_end=101524 + _globals['_TRUSTYRECLAIMMEMORYDONEFTRACEEVENT']._serialized_start=101526 + _globals['_TRUSTYRECLAIMMEMORYDONEFTRACEEVENT']._serialized_end=101587 + _globals['_TRUSTYIRQFTRACEEVENT']._serialized_start=101589 + _globals['_TRUSTYIRQFTRACEEVENT']._serialized_end=101624 + _globals['_TRUSTYIPCHANDLEEVENTFTRACEEVENT']._serialized_start=101626 + _globals['_TRUSTYIPCHANDLEEVENTFTRACEEVENT']._serialized_end=101709 + _globals['_TRUSTYIPCCONNECTFTRACEEVENT']._serialized_start=101711 + _globals['_TRUSTYIPCCONNECTFTRACEEVENT']._serialized_end=101783 + _globals['_TRUSTYIPCCONNECTENDFTRACEEVENT']._serialized_start=101785 + _globals['_TRUSTYIPCCONNECTENDFTRACEEVENT']._serialized_end=101859 + _globals['_TRUSTYIPCWRITEFTRACEEVENT']._serialized_start=101862 + _globals['_TRUSTYIPCWRITEFTRACEEVENT']._serialized_end=101992 + _globals['_TRUSTYIPCPOLLFTRACEEVENT']._serialized_start=101994 + _globals['_TRUSTYIPCPOLLFTRACEEVENT']._serialized_end=102071 + _globals['_TRUSTYIPCREADFTRACEEVENT']._serialized_start=102073 + _globals['_TRUSTYIPCREADFTRACEEVENT']._serialized_end=102131 + _globals['_TRUSTYIPCREADENDFTRACEEVENT']._serialized_start=102133 + _globals['_TRUSTYIPCREADENDFTRACEEVENT']._serialized_end=102247 + _globals['_TRUSTYIPCRXFTRACEEVENT']._serialized_start=102249 + _globals['_TRUSTYIPCRXFTRACEEVENT']._serialized_end=102321 + _globals['_TRUSTYENQUEUENOPFTRACEEVENT']._serialized_start=102323 + _globals['_TRUSTYENQUEUENOPFTRACEEVENT']._serialized_end=102394 + _globals['_UFSHCDCOMMANDFTRACEEVENT']._serialized_start=102397 + _globals['_UFSHCDCOMMANDFTRACEEVENT']._serialized_end=102583 + _globals['_UFSHCDCLKGATINGFTRACEEVENT']._serialized_start=102585 + _globals['_UFSHCDCLKGATINGFTRACEEVENT']._serialized_end=102646 + _globals['_V4L2QBUFFTRACEEVENT']._serialized_start=102649 + _globals['_V4L2QBUFFTRACEEVENT']._serialized_end=103060 + _globals['_V4L2DQBUFFTRACEEVENT']._serialized_start=103063 + _globals['_V4L2DQBUFFTRACEEVENT']._serialized_end=103475 + _globals['_VB2V4L2BUFQUEUEFTRACEEVENT']._serialized_start=103478 + _globals['_VB2V4L2BUFQUEUEFTRACEEVENT']._serialized_end=103848 + _globals['_VB2V4L2BUFDONEFTRACEEVENT']._serialized_start=103851 + _globals['_VB2V4L2BUFDONEFTRACEEVENT']._serialized_end=104220 + _globals['_VB2V4L2QBUFFTRACEEVENT']._serialized_start=104223 + _globals['_VB2V4L2QBUFFTRACEEVENT']._serialized_end=104589 + _globals['_VB2V4L2DQBUFFTRACEEVENT']._serialized_start=104592 + _globals['_VB2V4L2DQBUFFTRACEEVENT']._serialized_end=104959 + _globals['_VIRTIOGPUCMDQUEUEFTRACEEVENT']._serialized_start=104962 + _globals['_VIRTIOGPUCMDQUEUEFTRACEEVENT']._serialized_end=105127 + _globals['_VIRTIOGPUCMDRESPONSEFTRACEEVENT']._serialized_start=105130 + _globals['_VIRTIOGPUCMDRESPONSEFTRACEEVENT']._serialized_end=105298 + _globals['_VIRTIOVIDEOCMDFTRACEEVENT']._serialized_start=105300 + _globals['_VIRTIOVIDEOCMDFTRACEEVENT']._serialized_end=105360 + _globals['_VIRTIOVIDEOCMDDONEFTRACEEVENT']._serialized_start=105362 + _globals['_VIRTIOVIDEOCMDDONEFTRACEEVENT']._serialized_end=105426 + _globals['_VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT']._serialized_start=105429 + _globals['_VIRTIOVIDEORESOURCEQUEUEFTRACEEVENT']._serialized_end=105625 + _globals['_VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT']._serialized_start=105628 + _globals['_VIRTIOVIDEORESOURCEQUEUEDONEFTRACEEVENT']._serialized_end=105828 + _globals['_MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT']._serialized_start=105830 + _globals['_MMVMSCANDIRECTRECLAIMBEGINFTRACEEVENT']._serialized_end=105926 + _globals['_MMVMSCANDIRECTRECLAIMENDFTRACEEVENT']._serialized_start=105928 + _globals['_MMVMSCANDIRECTRECLAIMENDFTRACEEVENT']._serialized_end=105987 + _globals['_MMVMSCANKSWAPDWAKEFTRACEEVENT']._serialized_start=105989 + _globals['_MMVMSCANKSWAPDWAKEFTRACEEVENT']._serialized_end=106061 + _globals['_MMVMSCANKSWAPDSLEEPFTRACEEVENT']._serialized_start=106063 + _globals['_MMVMSCANKSWAPDSLEEPFTRACEEVENT']._serialized_end=106108 + _globals['_MMSHRINKSLABSTARTFTRACEEVENT']._serialized_start=106111 + _globals['_MMSHRINKSLABSTARTFTRACEEVENT']._serialized_end=106344 + _globals['_MMSHRINKSLABENDFTRACEEVENT']._serialized_start=106347 + _globals['_MMSHRINKSLABENDFTRACEEVENT']._serialized_end=106492 + _globals['_WORKQUEUEACTIVATEWORKFTRACEEVENT']._serialized_start=106494 + _globals['_WORKQUEUEACTIVATEWORKFTRACEEVENT']._serialized_end=106542 + _globals['_WORKQUEUEEXECUTEENDFTRACEEVENT']._serialized_start=106544 + _globals['_WORKQUEUEEXECUTEENDFTRACEEVENT']._serialized_end=106608 + _globals['_WORKQUEUEEXECUTESTARTFTRACEEVENT']._serialized_start=106610 + _globals['_WORKQUEUEEXECUTESTARTFTRACEEVENT']._serialized_end=106676 + _globals['_WORKQUEUEQUEUEWORKFTRACEEVENT']._serialized_start=106678 + _globals['_WORKQUEUEQUEUEWORKFTRACEEVENT']._serialized_end=106790 + _globals['_FTRACEEVENT']._serialized_start=106794 + _globals['_FTRACEEVENT']._serialized_end=147246 + _globals['_FTRACECPUSTATS']._serialized_start=147249 + _globals['_FTRACECPUSTATS']._serialized_end=147442 + _globals['_FTRACESTATS']._serialized_start=147445 + _globals['_FTRACESTATS']._serialized_end=147868 + _globals['_FTRACESTATS_PHASE']._serialized_start=147806 + _globals['_FTRACESTATS_PHASE']._serialized_end=147868 + _globals['_FTRACEEVENTBUNDLE']._serialized_start=147871 + _globals['_FTRACEEVENTBUNDLE']._serialized_end=148696 + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED']._serialized_start=148244 + _globals['_FTRACEEVENTBUNDLE_COMPACTSCHED']._serialized_end=148610 + _globals['_FTRACEEVENTBUNDLE_FTRACEERROR']._serialized_start=148612 + _globals['_FTRACEEVENTBUNDLE_FTRACEERROR']._serialized_end=148696 + _globals['_GPUCOUNTEREVENT']._serialized_start=148699 + _globals['_GPUCOUNTEREVENT']._serialized_end=148950 + _globals['_GPUCOUNTEREVENT_GPUCOUNTER']._serialized_start=148864 + _globals['_GPUCOUNTEREVENT_GPUCOUNTER']._serialized_end=148950 + _globals['_GPULOG']._serialized_start=148953 + _globals['_GPULOG']._serialized_end=149213 + _globals['_GPULOG_SEVERITY']._serialized_start=149050 + _globals['_GPULOG_SEVERITY']._serialized_end=149213 + _globals['_GPURENDERSTAGEEVENT']._serialized_start=149216 + _globals['_GPURENDERSTAGEEVENT']._serialized_end=150102 + _globals['_GPURENDERSTAGEEVENT_EXTRADATA']._serialized_start=149692 + _globals['_GPURENDERSTAGEEVENT_EXTRADATA']._serialized_end=149732 + _globals['_GPURENDERSTAGEEVENT_SPECIFICATIONS']._serialized_start=149735 + _globals['_GPURENDERSTAGEEVENT_SPECIFICATIONS']._serialized_end=150096 + _globals['_GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC']._serialized_start=150003 + _globals['_GPURENDERSTAGEEVENT_SPECIFICATIONS_CONTEXTSPEC']._serialized_end=150046 + _globals['_GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION']._serialized_start=150048 + _globals['_GPURENDERSTAGEEVENT_SPECIFICATIONS_DESCRIPTION']._serialized_end=150096 + _globals['_INTERNEDGRAPHICSCONTEXT']._serialized_start=150105 + _globals['_INTERNEDGRAPHICSCONTEXT']._serialized_end=150275 + _globals['_INTERNEDGRAPHICSCONTEXT_API']._serialized_start=150217 + _globals['_INTERNEDGRAPHICSCONTEXT_API']._serialized_end=150275 + _globals['_INTERNEDGPURENDERSTAGESPECIFICATION']._serialized_start=150278 + _globals['_INTERNEDGPURENDERSTAGESPECIFICATION']._serialized_end=150516 + _globals['_INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY']._serialized_start=150457 + _globals['_INTERNEDGPURENDERSTAGESPECIFICATION_RENDERSTAGECATEGORY']._serialized_end=150516 + _globals['_VULKANAPIEVENT']._serialized_start=150519 + _globals['_VULKANAPIEVENT']._serialized_end=150962 + _globals['_VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME']._serialized_start=150705 + _globals['_VULKANAPIEVENT_VKDEBUGUTILSOBJECTNAME']._serialized_end=150819 + _globals['_VULKANAPIEVENT_VKQUEUESUBMIT']._serialized_start=150822 + _globals['_VULKANAPIEVENT_VKQUEUESUBMIT']._serialized_end=150953 + _globals['_VULKANMEMORYEVENTANNOTATION']._serialized_start=150964 + _globals['_VULKANMEMORYEVENTANNOTATION']._serialized_end=151086 + _globals['_VULKANMEMORYEVENT']._serialized_start=151089 + _globals['_VULKANMEMORYEVENT']._serialized_end=151961 + _globals['_VULKANMEMORYEVENT_SOURCE']._serialized_start=151574 + _globals['_VULKANMEMORYEVENT_SOURCE']._serialized_end=151707 + _globals['_VULKANMEMORYEVENT_OPERATION']._serialized_start=151709 + _globals['_VULKANMEMORYEVENT_OPERATION']._serialized_end=151826 + _globals['_VULKANMEMORYEVENT_ALLOCATIONSCOPE']._serialized_start=151829 + _globals['_VULKANMEMORYEVENT_ALLOCATIONSCOPE']._serialized_end=151961 + _globals['_INTERNEDSTRING']._serialized_start=151963 + _globals['_INTERNEDSTRING']._serialized_end=152005 + _globals['_PROFILEDFRAMESYMBOLS']._serialized_start=152007 + _globals['_PROFILEDFRAMESYMBOLS']._serialized_end=152117 + _globals['_LINE']._serialized_start=152119 + _globals['_LINE']._serialized_end=152195 + _globals['_ADDRESSSYMBOLS']._serialized_start=152197 + _globals['_ADDRESSSYMBOLS']._serialized_end=152268 + _globals['_MODULESYMBOLS']._serialized_start=152270 + _globals['_MODULESYMBOLS']._serialized_end=152375 + _globals['_MAPPING']._serialized_start=152378 + _globals['_MAPPING']._serialized_end=152534 + _globals['_FRAME']._serialized_start=152536 + _globals['_FRAME']._serialized_end=152618 + _globals['_CALLSTACK']._serialized_start=152620 + _globals['_CALLSTACK']._serialized_end=152663 + _globals['_HISTOGRAMNAME']._serialized_start=152665 + _globals['_HISTOGRAMNAME']._serialized_end=152707 + _globals['_CHROMEHISTOGRAMSAMPLE']._serialized_start=152709 + _globals['_CHROMEHISTOGRAMSAMPLE']._serialized_end=152799 + _globals['_DEBUGANNOTATION']._serialized_start=152802 + _globals['_DEBUGANNOTATION']._serialized_end=153742 + _globals['_DEBUGANNOTATION_NESTEDVALUE']._serialized_start=153314 + _globals['_DEBUGANNOTATION_NESTEDVALUE']._serialized_end=153694 + _globals['_DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE']._serialized_start=153644 + _globals['_DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE']._serialized_end=153694 + _globals['_DEBUGANNOTATIONNAME']._serialized_start=153744 + _globals['_DEBUGANNOTATIONNAME']._serialized_end=153792 + _globals['_DEBUGANNOTATIONVALUETYPENAME']._serialized_start=153794 + _globals['_DEBUGANNOTATIONVALUETYPENAME']._serialized_end=153851 + _globals['_LOGMESSAGE']._serialized_start=153854 + _globals['_LOGMESSAGE']._serialized_end=154113 + _globals['_LOGMESSAGE_PRIORITY']._serialized_start=153968 + _globals['_LOGMESSAGE_PRIORITY']._serialized_end=154113 + _globals['_LOGMESSAGEBODY']._serialized_start=154115 + _globals['_LOGMESSAGEBODY']._serialized_end=154158 + _globals['_UNSYMBOLIZEDSOURCELOCATION']._serialized_start=154160 + _globals['_UNSYMBOLIZEDSOURCELOCATION']._serialized_end=154237 + _globals['_SOURCELOCATION']._serialized_start=154239 + _globals['_SOURCELOCATION']._serialized_end=154331 + _globals['_CHROMEACTIVEPROCESSES']._serialized_start=154333 + _globals['_CHROMEACTIVEPROCESSES']._serialized_end=154369 + _globals['_CHROMEAPPLICATIONSTATEINFO']._serialized_start=154372 + _globals['_CHROMEAPPLICATIONSTATEINFO']._serialized_end=154738 + _globals['_CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE']._serialized_start=154498 + _globals['_CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE']._serialized_end=154738 + _globals['_CHROMECOMPOSITORSCHEDULERSTATE']._serialized_start=154741 + _globals['_CHROMECOMPOSITORSCHEDULERSTATE']._serialized_end=155828 + _globals['_CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE']._serialized_start=155632 + _globals['_CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE']._serialized_end=155822 + _globals['_CHROMECOMPOSITORSTATEMACHINE']._serialized_start=155831 + _globals['_CHROMECOMPOSITORSTATEMACHINE']._serialized_end=159541 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE']._serialized_start=156022 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE']._serialized_end=157321 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE']._serialized_start=156561 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE']._serialized_end=156722 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE']._serialized_start=156725 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE']._serialized_end=156872 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE']._serialized_start=156875 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE']._serialized_end=157119 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE']._serialized_start=157122 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE']._serialized_end=157321 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MINORSTATE']._serialized_start=157324 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MINORSTATE']._serialized_end=159541 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY']._serialized_start=159218 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY']._serialized_end=159402 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE']._serialized_start=159405 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE']._serialized_end=159535 + _globals['_BEGINFRAMEARGS']._serialized_start=159544 + _globals['_BEGINFRAMEARGS']._serialized_end=160098 + _globals['_BEGINFRAMEARGS_BEGINFRAMEARGSTYPE']._serialized_start=159920 + _globals['_BEGINFRAMEARGS_BEGINFRAMEARGSTYPE']._serialized_end=160082 + _globals['_BEGINIMPLFRAMEARGS']._serialized_start=160101 + _globals['_BEGINIMPLFRAMEARGS']._serialized_end=160677 + _globals['_BEGINIMPLFRAMEARGS_TIMESTAMPSINUS']._serialized_start=160418 + _globals['_BEGINIMPLFRAMEARGS_TIMESTAMPSINUS']._serialized_end=160611 + _globals['_BEGINIMPLFRAMEARGS_STATE']._serialized_start=160613 + _globals['_BEGINIMPLFRAMEARGS_STATE']._serialized_end=160669 + _globals['_BEGINFRAMEOBSERVERSTATE']._serialized_start=160679 + _globals['_BEGINFRAMEOBSERVERSTATE']._serialized_end=160802 + _globals['_BEGINFRAMESOURCESTATE']._serialized_start=160805 + _globals['_BEGINFRAMESOURCESTATE']._serialized_end=160950 + _globals['_COMPOSITORTIMINGHISTORY']._serialized_start=160953 + _globals['_COMPOSITORTIMINGHISTORY']._serialized_end=161333 + _globals['_CHROMECONTENTSETTINGSEVENTINFO']._serialized_start=161335 + _globals['_CHROMECONTENTSETTINGSEVENTINFO']._serialized_end=161397 + _globals['_CHROMEFRAMEREPORTER']._serialized_start=161400 + _globals['_CHROMEFRAMEREPORTER']._serialized_end=162439 + _globals['_CHROMEFRAMEREPORTER_STATE']._serialized_start=162057 + _globals['_CHROMEFRAMEREPORTER_STATE']._serialized_end=162166 + _globals['_CHROMEFRAMEREPORTER_FRAMEDROPREASON']._serialized_start=162168 + _globals['_CHROMEFRAMEREPORTER_FRAMEDROPREASON']._serialized_end=162294 + _globals['_CHROMEFRAMEREPORTER_SCROLLSTATE']._serialized_start=162296 + _globals['_CHROMEFRAMEREPORTER_SCROLLSTATE']._serialized_end=162400 + _globals['_CHROMEFRAMEREPORTER_FRAMETYPE']._serialized_start=162402 + _globals['_CHROMEFRAMEREPORTER_FRAMETYPE']._serialized_end=162439 + _globals['_CHROMEKEYEDSERVICE']._serialized_start=162441 + _globals['_CHROMEKEYEDSERVICE']._serialized_end=162475 + _globals['_CHROMELATENCYINFO']._serialized_start=162478 + _globals['_CHROMELATENCYINFO']._serialized_end=164260 + _globals['_CHROMELATENCYINFO_COMPONENTINFO']._serialized_start=162807 + _globals['_CHROMELATENCYINFO_COMPONENTINFO']._serialized_end=162920 + _globals['_CHROMELATENCYINFO_STEP']._serialized_start=162923 + _globals['_CHROMELATENCYINFO_STEP']._serialized_end=163325 + _globals['_CHROMELATENCYINFO_LATENCYCOMPONENTTYPE']._serialized_start=163328 + _globals['_CHROMELATENCYINFO_LATENCYCOMPONENTTYPE']._serialized_end=164085 + _globals['_CHROMELATENCYINFO_INPUTTYPE']._serialized_start=164088 + _globals['_CHROMELATENCYINFO_INPUTTYPE']._serialized_end=164260 + _globals['_CHROMELEGACYIPC']._serialized_start=164263 + _globals['_CHROMELEGACYIPC']._serialized_end=165237 + _globals['_CHROMELEGACYIPC_MESSAGECLASS']._serialized_start=164375 + _globals['_CHROMELEGACYIPC_MESSAGECLASS']._serialized_end=165237 + _globals['_CHROMEMESSAGEPUMP']._serialized_start=165239 + _globals['_CHROMEMESSAGEPUMP']._serialized_end=165323 + _globals['_CHROMEMOJOEVENTINFO']._serialized_start=165326 + _globals['_CHROMEMOJOEVENTINFO']._serialized_end=165530 + _globals['_CHROMERENDERERSCHEDULERSTATE']._serialized_start=165532 + _globals['_CHROMERENDERERSCHEDULERSTATE']._serialized_end=165658 + _globals['_CHROMEUSEREVENT']._serialized_start=165660 + _globals['_CHROMEUSEREVENT']._serialized_end=165714 + _globals['_CHROMEWINDOWHANDLEEVENTINFO']._serialized_start=165716 + _globals['_CHROMEWINDOWHANDLEEVENTINFO']._serialized_end=165796 + _globals['_SCREENSHOT']._serialized_start=165798 + _globals['_SCREENSHOT']._serialized_end=165829 + _globals['_TASKEXECUTION']._serialized_start=165831 + _globals['_TASKEXECUTION']._serialized_end=165871 + _globals['_TRACKEVENT']._serialized_start=165874 + _globals['_TRACKEVENT']._serialized_end=168923 + _globals['_TRACKEVENT_LEGACYEVENT']._serialized_start=167969 + _globals['_TRACKEVENT_LEGACYEVENT']._serialized_end=168651 + _globals['_TRACKEVENT_LEGACYEVENT_FLOWDIRECTION']._serialized_start=168460 + _globals['_TRACKEVENT_LEGACYEVENT_FLOWDIRECTION']._serialized_end=168540 + _globals['_TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE']._serialized_start=168542 + _globals['_TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE']._serialized_end=168639 + _globals['_TRACKEVENT_TYPE']._serialized_start=168653 + _globals['_TRACKEVENT_TYPE']._serialized_end=168759 + _globals['_TRACKEVENTDEFAULTS']._serialized_start=168925 + _globals['_TRACKEVENTDEFAULTS']._serialized_end=169042 + _globals['_EVENTCATEGORY']._serialized_start=169044 + _globals['_EVENTCATEGORY']._serialized_end=169086 + _globals['_EVENTNAME']._serialized_start=169088 + _globals['_EVENTNAME']._serialized_end=169126 + _globals['_INTERNEDDATA']._serialized_start=169129 + _globals['_INTERNEDDATA']._serialized_end=171187 + _globals['_MEMORYTRACKERSNAPSHOT']._serialized_start=171190 + _globals['_MEMORYTRACKERSNAPSHOT']._serialized_end=172198 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT']._serialized_start=171405 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT']._serialized_end=172123 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE']._serialized_start=171619 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE']._serialized_end=172030 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY']._serialized_start=171803 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY']._serialized_end=172030 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS']._serialized_start=171984 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYNODE_MEMORYNODEENTRY_UNITS']._serialized_end=172030 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE']._serialized_start=172032 + _globals['_MEMORYTRACKERSNAPSHOT_PROCESSSNAPSHOT_MEMORYEDGE']._serialized_end=172123 + _globals['_MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL']._serialized_start=172125 + _globals['_MEMORYTRACKERSNAPSHOT_LEVELOFDETAIL']._serialized_end=172198 + _globals['_PERFETTOMETATRACE']._serialized_start=172201 + _globals['_PERFETTOMETATRACE']._serialized_end=172746 + _globals['_PERFETTOMETATRACE_ARG']._serialized_start=172558 + _globals['_PERFETTOMETATRACE_ARG']._serialized_end=172685 + _globals['_PERFETTOMETATRACE_INTERNEDSTRING']._serialized_start=172687 + _globals['_PERFETTOMETATRACE_INTERNEDSTRING']._serialized_end=172731 + _globals['_TRACINGSERVICEEVENT']._serialized_start=172749 + _globals['_TRACINGSERVICEEVENT']._serialized_end=172985 + _globals['_ANDROIDENERGYCONSUMER']._serialized_start=172987 + _globals['_ANDROIDENERGYCONSUMER']._serialized_end=173083 + _globals['_ANDROIDENERGYCONSUMERDESCRIPTOR']._serialized_start=173085 + _globals['_ANDROIDENERGYCONSUMERDESCRIPTOR']._serialized_end=173184 + _globals['_ANDROIDENERGYESTIMATIONBREAKDOWN']._serialized_start=173187 + _globals['_ANDROIDENERGYESTIMATIONBREAKDOWN']._serialized_end=173507 + _globals['_ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN']._serialized_start=173454 + _globals['_ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN']._serialized_end=173507 + _globals['_ENTITYSTATERESIDENCY']._serialized_start=173510 + _globals['_ENTITYSTATERESIDENCY']._serialized_end=173953 + _globals['_ENTITYSTATERESIDENCY_POWERENTITYSTATE']._serialized_start=173691 + _globals['_ENTITYSTATERESIDENCY_POWERENTITYSTATE']._serialized_end=173793 + _globals['_ENTITYSTATERESIDENCY_STATERESIDENCY']._serialized_start=173796 + _globals['_ENTITYSTATERESIDENCY_STATERESIDENCY']._serialized_end=173953 + _globals['_BATTERYCOUNTERS']._serialized_start=173956 + _globals['_BATTERYCOUNTERS']._serialized_end=174133 + _globals['_POWERRAILS']._serialized_start=174136 + _globals['_POWERRAILS']._serialized_end=174441 + _globals['_POWERRAILS_RAILDESCRIPTOR']._serialized_start=174280 + _globals['_POWERRAILS_RAILDESCRIPTOR']._serialized_end=174374 + _globals['_POWERRAILS_ENERGYDATA']._serialized_start=174376 + _globals['_POWERRAILS_ENERGYDATA']._serialized_end=174441 + _globals['_OBFUSCATEDMEMBER']._serialized_start=174443 + _globals['_OBFUSCATEDMEMBER']._serialized_end=174513 + _globals['_OBFUSCATEDCLASS']._serialized_start=174516 + _globals['_OBFUSCATEDCLASS']._serialized_end=174711 + _globals['_DEOBFUSCATIONMAPPING']._serialized_start=174714 + _globals['_DEOBFUSCATIONMAPPING']._serialized_end=174842 + _globals['_HEAPGRAPHROOT']._serialized_start=174845 + _globals['_HEAPGRAPHROOT']._serialized_end=175283 + _globals['_HEAPGRAPHROOT_TYPE']._serialized_start=174943 + _globals['_HEAPGRAPHROOT_TYPE']._serialized_end=175283 + _globals['_HEAPGRAPHTYPE']._serialized_start=175286 + _globals['_HEAPGRAPHTYPE']._serialized_end=175770 + _globals['_HEAPGRAPHTYPE_KIND']._serialized_start=175508 + _globals['_HEAPGRAPHTYPE_KIND']._serialized_end=175770 + _globals['_HEAPGRAPHOBJECT']._serialized_start=175773 + _globals['_HEAPGRAPHOBJECT']._serialized_end=176019 + _globals['_HEAPGRAPH']._serialized_start=176022 + _globals['_HEAPGRAPH']._serialized_end=176342 + _globals['_PROFILEPACKET']._serialized_start=176345 + _globals['_PROFILEPACKET']._serialized_end=177813 + _globals['_PROFILEPACKET_HEAPSAMPLE']._serialized_start=176653 + _globals['_PROFILEPACKET_HEAPSAMPLE']._serialized_end=176839 + _globals['_PROFILEPACKET_HISTOGRAM']._serialized_start=176842 + _globals['_PROFILEPACKET_HISTOGRAM']._serialized_end=176985 + _globals['_PROFILEPACKET_HISTOGRAM_BUCKET']._serialized_start=176921 + _globals['_PROFILEPACKET_HISTOGRAM_BUCKET']._serialized_end=176985 + _globals['_PROFILEPACKET_PROCESSSTATS']._serialized_start=176988 + _globals['_PROFILEPACKET_PROCESSSTATS']._serialized_end=177210 + _globals['_PROFILEPACKET_PROCESSHEAPSAMPLES']._serialized_start=177213 + _globals['_PROFILEPACKET_PROCESSHEAPSAMPLES']._serialized_end=177813 + _globals['_PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR']._serialized_start=177708 + _globals['_PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR']._serialized_end=177813 + _globals['_STREAMINGALLOCATION']._serialized_start=177816 + _globals['_STREAMINGALLOCATION']._serialized_end=177973 + _globals['_STREAMINGFREE']._serialized_start=177975 + _globals['_STREAMINGFREE']._serialized_end=178049 + _globals['_STREAMINGPROFILEPACKET']._serialized_start=178051 + _globals['_STREAMINGPROFILEPACKET']._serialized_end=178152 + _globals['_PROFILING']._serialized_start=178155 + _globals['_PROFILING']._serialized_end=178811 + _globals['_PROFILING_CPUMODE']._serialized_start=178168 + _globals['_PROFILING_CPUMODE']._serialized_end=178292 + _globals['_PROFILING_STACKUNWINDERROR']._serialized_start=178295 + _globals['_PROFILING_STACKUNWINDERROR']._serialized_end=178811 + _globals['_PERFSAMPLE']._serialized_start=178814 + _globals['_PERFSAMPLE']._serialized_end=179636 + _globals['_PERFSAMPLE_PRODUCEREVENT']._serialized_start=179213 + _globals['_PERFSAMPLE_PRODUCEREVENT']._serialized_end=179433 + _globals['_PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON']._serialized_start=179324 + _globals['_PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON']._serialized_end=179402 + _globals['_PERFSAMPLE_SAMPLESKIPREASON']._serialized_start=179436 + _globals['_PERFSAMPLE_SAMPLESKIPREASON']._serialized_end=179577 + _globals['_PERFSAMPLEDEFAULTS']._serialized_start=179639 + _globals['_PERFSAMPLEDEFAULTS']._serialized_end=179774 + _globals['_SMAPSENTRY']._serialized_start=179777 + _globals['_SMAPSENTRY']._serialized_end=180164 + _globals['_SMAPSPACKET']._serialized_start=180166 + _globals['_SMAPSPACKET']._serialized_end=180238 + _globals['_PROCESSSTATS']._serialized_start=180241 + _globals['_PROCESSSTATS']._serialized_end=181045 + _globals['_PROCESSSTATS_THREAD']._serialized_start=180349 + _globals['_PROCESSSTATS_THREAD']._serialized_end=180388 + _globals['_PROCESSSTATS_FDINFO']._serialized_start=180390 + _globals['_PROCESSSTATS_FDINFO']._serialized_end=180424 + _globals['_PROCESSSTATS_PROCESS']._serialized_start=180427 + _globals['_PROCESSSTATS_PROCESS']._serialized_end=181045 + _globals['_PROCESSTREE']._serialized_start=181048 + _globals['_PROCESSTREE']._serialized_end=181394 + _globals['_PROCESSTREE_THREAD']._serialized_start=181208 + _globals['_PROCESSTREE_THREAD']._serialized_end=181272 + _globals['_PROCESSTREE_PROCESS']._serialized_start=181274 + _globals['_PROCESSTREE_PROCESS']._serialized_end=181394 + _globals['_REMOTECLOCKSYNC']._serialized_start=181397 + _globals['_REMOTECLOCKSYNC']._serialized_end=181608 + _globals['_REMOTECLOCKSYNC_SYNCEDCLOCKS']._serialized_start=181486 + _globals['_REMOTECLOCKSYNC_SYNCEDCLOCKS']._serialized_end=181608 + _globals['_ATOM']._serialized_start=181610 + _globals['_ATOM']._serialized_end=181616 + _globals['_STATSDATOM']._serialized_start=181618 + _globals['_STATSDATOM']._serialized_end=181692 + _globals['_SYSSTATS']._serialized_start=181695 + _globals['_SYSSTATS']._serialized_end=183680 + _globals['_SYSSTATS_MEMINFOVALUE']._serialized_start=182462 + _globals['_SYSSTATS_MEMINFOVALUE']._serialized_end=182538 + _globals['_SYSSTATS_VMSTATVALUE']._serialized_start=182540 + _globals['_SYSSTATS_VMSTATVALUE']._serialized_end=182614 + _globals['_SYSSTATS_CPUTIMES']._serialized_start=182617 + _globals['_SYSSTATS_CPUTIMES']._serialized_end=182779 + _globals['_SYSSTATS_INTERRUPTCOUNT']._serialized_start=182781 + _globals['_SYSSTATS_INTERRUPTCOUNT']._serialized_end=182825 + _globals['_SYSSTATS_DEVFREQVALUE']._serialized_start=182827 + _globals['_SYSSTATS_DEVFREQVALUE']._serialized_end=182869 + _globals['_SYSSTATS_BUDDYINFO']._serialized_start=182871 + _globals['_SYSSTATS_BUDDYINFO']._serialized_end=182931 + _globals['_SYSSTATS_DISKSTAT']._serialized_start=182934 + _globals['_SYSSTATS_DISKSTAT']._serialized_end=183149 + _globals['_SYSSTATS_PSISAMPLE']._serialized_start=183152 + _globals['_SYSSTATS_PSISAMPLE']._serialized_end=183460 + _globals['_SYSSTATS_PSISAMPLE_PSIRESOURCE']._serialized_start=183251 + _globals['_SYSSTATS_PSISAMPLE_PSIRESOURCE']._serialized_end=183460 + _globals['_SYSSTATS_THERMALZONE']._serialized_start=183462 + _globals['_SYSSTATS_THERMALZONE']._serialized_end=183517 + _globals['_SYSSTATS_CPUIDLESTATEENTRY']._serialized_start=183519 + _globals['_SYSSTATS_CPUIDLESTATEENTRY']._serialized_end=183574 + _globals['_SYSSTATS_CPUIDLESTATE']._serialized_start=183576 + _globals['_SYSSTATS_CPUIDLESTATE']._serialized_end=183680 + _globals['_UTSNAME']._serialized_start=183682 + _globals['_UTSNAME']._serialized_end=183759 + _globals['_SYSTEMINFO']._serialized_start=183762 + _globals['_SYSTEMINFO']._serialized_end=184052 + _globals['_CPUINFO']._serialized_start=184054 + _globals['_CPUINFO']._serialized_end=184172 + _globals['_CPUINFO_CPU']._serialized_start=184109 + _globals['_CPUINFO_CPU']._serialized_end=184172 + _globals['_TESTEVENT']._serialized_start=184175 + _globals['_TESTEVENT']._serialized_end=184554 + _globals['_TESTEVENT_TESTPAYLOAD']._serialized_start=184312 + _globals['_TESTEVENT_TESTPAYLOAD']._serialized_end=184554 + _globals['_TRACEPACKETDEFAULTS']._serialized_start=184557 + _globals['_TRACEPACKETDEFAULTS']._serialized_end=184799 + _globals['_TRACEUUID']._serialized_start=184801 + _globals['_TRACEUUID']._serialized_end=184838 + _globals['_PROCESSDESCRIPTOR']._serialized_start=184841 + _globals['_PROCESSDESCRIPTOR']._serialized_end=185328 + _globals['_PROCESSDESCRIPTOR_CHROMEPROCESSTYPE']._serialized_start=185103 + _globals['_PROCESSDESCRIPTOR_CHROMEPROCESSTYPE']._serialized_end=185328 + _globals['_TRACKEVENTRANGEOFINTEREST']._serialized_start=185330 + _globals['_TRACKEVENTRANGEOFINTEREST']._serialized_end=185375 + _globals['_THREADDESCRIPTOR']._serialized_start=185378 + _globals['_THREADDESCRIPTOR']._serialized_end=186134 + _globals['_THREADDESCRIPTOR_CHROMETHREADTYPE']._serialized_start=185663 + _globals['_THREADDESCRIPTOR_CHROMETHREADTYPE']._serialized_end=186134 + _globals['_CHROMEPROCESSDESCRIPTOR']._serialized_start=186137 + _globals['_CHROMEPROCESSDESCRIPTOR']._serialized_end=187646 + _globals['_CHROMEPROCESSDESCRIPTOR_PROCESSTYPE']._serialized_start=186349 + _globals['_CHROMEPROCESSDESCRIPTOR_PROCESSTYPE']._serialized_end=187646 + _globals['_CHROMETHREADDESCRIPTOR']._serialized_start=187649 + _globals['_CHROMETHREADDESCRIPTOR']._serialized_end=188909 + _globals['_CHROMETHREADDESCRIPTOR_THREADTYPE']._serialized_start=187776 + _globals['_CHROMETHREADDESCRIPTOR_THREADTYPE']._serialized_end=188909 + _globals['_COUNTERDESCRIPTOR']._serialized_start=188912 + _globals['_COUNTERDESCRIPTOR']._serialized_end=189341 + _globals['_COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE']._serialized_start=189145 + _globals['_COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE']._serialized_end=189256 + _globals['_COUNTERDESCRIPTOR_UNIT']._serialized_start=189258 + _globals['_COUNTERDESCRIPTOR_UNIT']._serialized_end=189341 + _globals['_TRACKDESCRIPTOR']._serialized_start=189344 + _globals['_TRACKDESCRIPTOR']._serialized_end=189793 + _globals['_TRANSLATIONTABLE']._serialized_start=189796 + _globals['_TRANSLATIONTABLE']._serialized_end=190219 + _globals['_CHROMEHISTORGRAMTRANSLATIONTABLE']._serialized_start=190222 + _globals['_CHROMEHISTORGRAMTRANSLATIONTABLE']._serialized_end=190396 + _globals['_CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY']._serialized_start=190347 + _globals['_CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY']._serialized_end=190396 + _globals['_CHROMEUSEREVENTTRANSLATIONTABLE']._serialized_start=190399 + _globals['_CHROMEUSEREVENTTRANSLATIONTABLE']._serialized_end=190590 + _globals['_CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY']._serialized_start=190535 + _globals['_CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY']._serialized_end=190590 + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE']._serialized_start=190593 + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE']._serialized_end=190948 + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY']._serialized_start=190840 + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY']._serialized_end=190893 + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY']._serialized_start=190895 + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY']._serialized_end=190948 + _globals['_SLICENAMETRANSLATIONTABLE']._serialized_start=190951 + _globals['_SLICENAMETRANSLATIONTABLE']._serialized_end=191145 + _globals['_SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._serialized_start=191085 + _globals['_SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._serialized_end=191145 + _globals['_PROCESSTRACKNAMETRANSLATIONTABLE']._serialized_start=191148 + _globals['_PROCESSTRACKNAMETRANSLATIONTABLE']._serialized_end=191356 + _globals['_PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._serialized_start=191085 + _globals['_PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._serialized_end=191145 + _globals['_TRIGGER']._serialized_start=191358 + _globals['_TRIGGER']._serialized_end=191442 + _globals['_UISTATE']._serialized_start=191445 + _globals['_UISTATE']._serialized_end=191642 + _globals['_UISTATE_HIGHLIGHTPROCESS']._serialized_start=191578 + _globals['_UISTATE_HIGHLIGHTPROCESS']._serialized_end=191642 + _globals['_TRACEPACKET']._serialized_start=191645 + _globals['_TRACEPACKET']._serialized_end=197165 + _globals['_TRACEPACKET_SEQUENCEFLAGS']._serialized_start=196984 + _globals['_TRACEPACKET_SEQUENCEFLAGS']._serialized_end=197088 + _globals['_TRACE']._serialized_start=197167 + _globals['_TRACE']._serialized_end=197220 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/power/__init__.py b/lglpy/timeline/protos/perfetto/trace/power/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/power/android_energy_estimation_breakdown_pb2.py b/lglpy/timeline/protos/perfetto/trace/power/android_energy_estimation_breakdown_pb2.py new file mode 100644 index 0000000..342fcf8 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/power/android_energy_estimation_breakdown_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/power/android_energy_estimation_breakdown.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/power/android_energy_estimation_breakdown.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import android_energy_consumer_descriptor_pb2 as protos_dot_perfetto_dot_common_dot_android__energy__consumer__descriptor__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nEprotos/perfetto/trace/power/android_energy_estimation_breakdown.proto\x12\x0fperfetto.protos\x1a?protos/perfetto/common/android_energy_consumer_descriptor.proto\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.power.android_energy_estimation_breakdown_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ANDROIDENERGYESTIMATIONBREAKDOWN']._serialized_start=156 + _globals['_ANDROIDENERGYESTIMATIONBREAKDOWN']._serialized_end=476 + _globals['_ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN']._serialized_start=423 + _globals['_ANDROIDENERGYESTIMATIONBREAKDOWN_ENERGYUIDBREAKDOWN']._serialized_end=476 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/power/android_entity_state_residency_pb2.py b/lglpy/timeline/protos/perfetto/trace/power/android_entity_state_residency_pb2.py new file mode 100644 index 0000000..c360d8f --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/power/android_entity_state_residency_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/power/android_entity_state_residency.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/power/android_entity_state_residency.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n@protos/perfetto/trace/power/android_entity_state_residency.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.power.android_entity_state_residency_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ENTITYSTATERESIDENCY']._serialized_start=86 + _globals['_ENTITYSTATERESIDENCY']._serialized_end=529 + _globals['_ENTITYSTATERESIDENCY_POWERENTITYSTATE']._serialized_start=267 + _globals['_ENTITYSTATERESIDENCY_POWERENTITYSTATE']._serialized_end=369 + _globals['_ENTITYSTATERESIDENCY_STATERESIDENCY']._serialized_start=372 + _globals['_ENTITYSTATERESIDENCY_STATERESIDENCY']._serialized_end=529 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/power/battery_counters_pb2.py b/lglpy/timeline/protos/perfetto/trace/power/battery_counters_pb2.py new file mode 100644 index 0000000..1f34053 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/power/battery_counters_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/power/battery_counters.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/power/battery_counters.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2protos/perfetto/trace/power/battery_counters.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.power.battery_counters_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_BATTERYCOUNTERS']._serialized_start=72 + _globals['_BATTERYCOUNTERS']._serialized_end=249 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/power/power_rails_pb2.py b/lglpy/timeline/protos/perfetto/trace/power/power_rails_pb2.py new file mode 100644 index 0000000..4225a0f --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/power/power_rails_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/power/power_rails.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/power/power_rails.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-protos/perfetto/trace/power/power_rails.proto\x12\x0fperfetto.protos\"\xb1\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\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.power.power_rails_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_POWERRAILS']._serialized_start=67 + _globals['_POWERRAILS']._serialized_end=372 + _globals['_POWERRAILS_RAILDESCRIPTOR']._serialized_start=211 + _globals['_POWERRAILS_RAILDESCRIPTOR']._serialized_end=305 + _globals['_POWERRAILS_ENERGYDATA']._serialized_start=307 + _globals['_POWERRAILS_ENERGYDATA']._serialized_end=372 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/profiling/__init__.py b/lglpy/timeline/protos/perfetto/trace/profiling/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/profiling/deobfuscation_pb2.py b/lglpy/timeline/protos/perfetto/trace/profiling/deobfuscation_pb2.py new file mode 100644 index 0000000..832e2d3 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/profiling/deobfuscation_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/profiling/deobfuscation.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/profiling/deobfuscation.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/trace/profiling/deobfuscation.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.profiling.deobfuscation_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_OBFUSCATEDMEMBER']._serialized_start=72 + _globals['_OBFUSCATEDMEMBER']._serialized_end=142 + _globals['_OBFUSCATEDCLASS']._serialized_start=145 + _globals['_OBFUSCATEDCLASS']._serialized_end=340 + _globals['_DEOBFUSCATIONMAPPING']._serialized_start=343 + _globals['_DEOBFUSCATIONMAPPING']._serialized_end=471 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/profiling/heap_graph_pb2.py b/lglpy/timeline/protos/perfetto/trace/profiling/heap_graph_pb2.py new file mode 100644 index 0000000..95188d2 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/profiling/heap_graph_pb2.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/profiling/heap_graph.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/profiling/heap_graph.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.profiling import deobfuscation_pb2 as protos_dot_perfetto_dot_trace_dot_profiling_dot_deobfuscation__pb2 +from protos.perfetto.trace.profiling import profile_common_pb2 as protos_dot_perfetto_dot_trace_dot_profiling_dot_profile__common__pb2 + +from protos.perfetto.trace.profiling.deobfuscation_pb2 import * + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/trace/profiling/heap_graph.proto\x12\x0fperfetto.protos\x1a\x33protos/perfetto/trace/profiling/deobfuscation.proto\x1a\x34protos/perfetto/trace/profiling/profile_common.proto\"\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\"\xf6\x01\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\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\x04P\x00') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.profiling.heap_graph_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_HEAPGRAPHROOT'].fields_by_name['object_ids']._loaded_options = None + _globals['_HEAPGRAPHROOT'].fields_by_name['object_ids']._serialized_options = b'\020\001' + _globals['_HEAPGRAPHTYPE'].fields_by_name['reference_field_id']._loaded_options = None + _globals['_HEAPGRAPHTYPE'].fields_by_name['reference_field_id']._serialized_options = b'\020\001' + _globals['_HEAPGRAPHOBJECT'].fields_by_name['reference_field_id']._loaded_options = None + _globals['_HEAPGRAPHOBJECT'].fields_by_name['reference_field_id']._serialized_options = b'\020\001' + _globals['_HEAPGRAPHOBJECT'].fields_by_name['reference_object_id']._loaded_options = None + _globals['_HEAPGRAPHOBJECT'].fields_by_name['reference_object_id']._serialized_options = b'\020\001' + _globals['_HEAPGRAPHROOT']._serialized_start=177 + _globals['_HEAPGRAPHROOT']._serialized_end=615 + _globals['_HEAPGRAPHROOT_TYPE']._serialized_start=275 + _globals['_HEAPGRAPHROOT_TYPE']._serialized_end=615 + _globals['_HEAPGRAPHTYPE']._serialized_start=618 + _globals['_HEAPGRAPHTYPE']._serialized_end=1102 + _globals['_HEAPGRAPHTYPE_KIND']._serialized_start=840 + _globals['_HEAPGRAPHTYPE_KIND']._serialized_end=1102 + _globals['_HEAPGRAPHOBJECT']._serialized_start=1105 + _globals['_HEAPGRAPHOBJECT']._serialized_end=1351 + _globals['_HEAPGRAPH']._serialized_start=1354 + _globals['_HEAPGRAPH']._serialized_end=1674 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/profiling/profile_common_pb2.py b/lglpy/timeline/protos/perfetto/trace/profiling/profile_common_pb2.py new file mode 100644 index 0000000..21bf602 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/profiling/profile_common_pb2.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/profiling/profile_common.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/profiling/profile_common.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4protos/perfetto/trace/profiling/profile_common.proto\x12\x0fperfetto.protos\"*\n\x0eInternedString\x12\x0b\n\x03iid\x18\x01 \x01(\x04\x12\x0b\n\x03str\x18\x02 \x01(\x0c\"n\n\x14ProfiledFrameSymbols\x12\x11\n\tframe_iid\x18\x01 \x01(\x04\x12\x18\n\x10\x66unction_name_id\x18\x02 \x03(\x04\x12\x14\n\x0c\x66ile_name_id\x18\x03 \x03(\x04\x12\x13\n\x0bline_number\x18\x04 \x03(\r\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.profiling.profile_common_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_INTERNEDSTRING']._serialized_start=73 + _globals['_INTERNEDSTRING']._serialized_end=115 + _globals['_PROFILEDFRAMESYMBOLS']._serialized_start=117 + _globals['_PROFILEDFRAMESYMBOLS']._serialized_end=227 + _globals['_LINE']._serialized_start=229 + _globals['_LINE']._serialized_end=305 + _globals['_ADDRESSSYMBOLS']._serialized_start=307 + _globals['_ADDRESSSYMBOLS']._serialized_end=378 + _globals['_MODULESYMBOLS']._serialized_start=380 + _globals['_MODULESYMBOLS']._serialized_end=485 + _globals['_MAPPING']._serialized_start=488 + _globals['_MAPPING']._serialized_end=644 + _globals['_FRAME']._serialized_start=646 + _globals['_FRAME']._serialized_end=728 + _globals['_CALLSTACK']._serialized_start=730 + _globals['_CALLSTACK']._serialized_end=773 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/profiling/profile_packet_pb2.py b/lglpy/timeline/protos/perfetto/trace/profiling/profile_packet_pb2.py new file mode 100644 index 0000000..bb21e95 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/profiling/profile_packet_pb2.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/profiling/profile_packet.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/profiling/profile_packet.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import perf_events_pb2 as protos_dot_perfetto_dot_common_dot_perf__events__pb2 +from protos.perfetto.trace.profiling import profile_common_pb2 as protos_dot_perfetto_dot_trace_dot_profiling_dot_profile__common__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4protos/perfetto/trace/profiling/profile_packet.proto\x12\x0fperfetto.protos\x1a(protos/perfetto/common/perf_events.proto\x1a\x34protos/perfetto/trace/profiling/profile_common.proto\"\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\"\xb6\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\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\"\x8d\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\x42\x17\n\x15optional_unwind_errorB \n\x1eoptional_sample_skipped_reason\"\x87\x01\n\x12PerfSampleDefaults\x12\x36\n\x08timebase\x18\x01 \x01(\x0b\x32$.perfetto.protos.PerfEvents.Timebase\x12\x1b\n\x13process_shard_count\x18\x02 \x01(\r\x12\x1c\n\x14\x63hosen_process_shard\x18\x03 \x01(\r') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.profiling.profile_packet_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PROFILEPACKET']._serialized_start=170 + _globals['_PROFILEPACKET']._serialized_end=1638 + _globals['_PROFILEPACKET_HEAPSAMPLE']._serialized_start=478 + _globals['_PROFILEPACKET_HEAPSAMPLE']._serialized_end=664 + _globals['_PROFILEPACKET_HISTOGRAM']._serialized_start=667 + _globals['_PROFILEPACKET_HISTOGRAM']._serialized_end=810 + _globals['_PROFILEPACKET_HISTOGRAM_BUCKET']._serialized_start=746 + _globals['_PROFILEPACKET_HISTOGRAM_BUCKET']._serialized_end=810 + _globals['_PROFILEPACKET_PROCESSSTATS']._serialized_start=813 + _globals['_PROFILEPACKET_PROCESSSTATS']._serialized_end=1035 + _globals['_PROFILEPACKET_PROCESSHEAPSAMPLES']._serialized_start=1038 + _globals['_PROFILEPACKET_PROCESSHEAPSAMPLES']._serialized_end=1638 + _globals['_PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR']._serialized_start=1533 + _globals['_PROFILEPACKET_PROCESSHEAPSAMPLES_CLIENTERROR']._serialized_end=1638 + _globals['_STREAMINGALLOCATION']._serialized_start=1641 + _globals['_STREAMINGALLOCATION']._serialized_end=1798 + _globals['_STREAMINGFREE']._serialized_start=1800 + _globals['_STREAMINGFREE']._serialized_end=1874 + _globals['_STREAMINGPROFILEPACKET']._serialized_start=1876 + _globals['_STREAMINGPROFILEPACKET']._serialized_end=1977 + _globals['_PROFILING']._serialized_start=1980 + _globals['_PROFILING']._serialized_end=2636 + _globals['_PROFILING_CPUMODE']._serialized_start=1993 + _globals['_PROFILING_CPUMODE']._serialized_end=2117 + _globals['_PROFILING_STACKUNWINDERROR']._serialized_start=2120 + _globals['_PROFILING_STACKUNWINDERROR']._serialized_end=2636 + _globals['_PERFSAMPLE']._serialized_start=2639 + _globals['_PERFSAMPLE']._serialized_end=3461 + _globals['_PERFSAMPLE_PRODUCEREVENT']._serialized_start=3038 + _globals['_PERFSAMPLE_PRODUCEREVENT']._serialized_end=3258 + _globals['_PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON']._serialized_start=3149 + _globals['_PERFSAMPLE_PRODUCEREVENT_DATASOURCESTOPREASON']._serialized_end=3227 + _globals['_PERFSAMPLE_SAMPLESKIPREASON']._serialized_start=3261 + _globals['_PERFSAMPLE_SAMPLESKIPREASON']._serialized_end=3402 + _globals['_PERFSAMPLEDEFAULTS']._serialized_start=3464 + _globals['_PERFSAMPLEDEFAULTS']._serialized_end=3599 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/profiling/smaps_pb2.py b/lglpy/timeline/protos/perfetto/trace/profiling/smaps_pb2.py new file mode 100644 index 0000000..09e947d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/profiling/smaps_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/profiling/smaps.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/profiling/smaps.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+protos/perfetto/trace/profiling/smaps.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.profiling.smaps_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SMAPSENTRY']._serialized_start=65 + _globals['_SMAPSENTRY']._serialized_end=452 + _globals['_SMAPSPACKET']._serialized_start=454 + _globals['_SMAPSPACKET']._serialized_end=526 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ps/__init__.py b/lglpy/timeline/protos/perfetto/trace/ps/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/ps/process_stats_pb2.py b/lglpy/timeline/protos/perfetto/trace/ps/process_stats_pb2.py new file mode 100644 index 0000000..1aca063 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ps/process_stats_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ps/process_stats.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ps/process_stats.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,protos/perfetto/trace/ps/process_stats.proto\x12\x0fperfetto.protos\"\xa4\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\xea\x04\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ps.process_stats_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PROCESSSTATS']._serialized_start=66 + _globals['_PROCESSSTATS']._serialized_end=870 + _globals['_PROCESSSTATS_THREAD']._serialized_start=174 + _globals['_PROCESSSTATS_THREAD']._serialized_end=213 + _globals['_PROCESSSTATS_FDINFO']._serialized_start=215 + _globals['_PROCESSSTATS_FDINFO']._serialized_end=249 + _globals['_PROCESSSTATS_PROCESS']._serialized_start=252 + _globals['_PROCESSSTATS_PROCESS']._serialized_end=870 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ps/process_tree_pb2.py b/lglpy/timeline/protos/perfetto/trace/ps/process_tree_pb2.py new file mode 100644 index 0000000..d5ce848 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ps/process_tree_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ps/process_tree.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ps/process_tree.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+protos/perfetto/trace/ps/process_tree.proto\x12\x0fperfetto.protos\"\xda\x02\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\x1ax\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\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(\x04J\x04\x08\x04\x10\x05') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ps.process_tree_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PROCESSTREE']._serialized_start=65 + _globals['_PROCESSTREE']._serialized_end=411 + _globals['_PROCESSTREE_THREAD']._serialized_start=225 + _globals['_PROCESSTREE_THREAD']._serialized_end=289 + _globals['_PROCESSTREE_PROCESS']._serialized_start=291 + _globals['_PROCESSTREE_PROCESS']._serialized_end=411 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/remote_clock_sync_pb2.py b/lglpy/timeline/protos/perfetto/trace/remote_clock_sync_pb2.py new file mode 100644 index 0000000..d9c9f64 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/remote_clock_sync_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/remote_clock_sync.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/remote_clock_sync.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace import clock_snapshot_pb2 as protos_dot_perfetto_dot_trace_dot_clock__snapshot__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-protos/perfetto/trace/remote_clock_sync.proto\x12\x0fperfetto.protos\x1a*protos/perfetto/trace/clock_snapshot.proto\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.remote_clock_sync_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_REMOTECLOCKSYNC']._serialized_start=111 + _globals['_REMOTECLOCKSYNC']._serialized_end=322 + _globals['_REMOTECLOCKSYNC_SYNCEDCLOCKS']._serialized_start=200 + _globals['_REMOTECLOCKSYNC_SYNCEDCLOCKS']._serialized_end=322 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/statsd/__init__.py b/lglpy/timeline/protos/perfetto/trace/statsd/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/statsd/statsd_atom_pb2.py b/lglpy/timeline/protos/perfetto/trace/statsd/statsd_atom_pb2.py new file mode 100644 index 0000000..884e9bf --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/statsd/statsd_atom_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/statsd/statsd_atom.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/statsd/statsd_atom.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.protos/perfetto/trace/statsd/statsd_atom.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.statsd.statsd_atom_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_ATOM']._serialized_start=67 + _globals['_ATOM']._serialized_end=73 + _globals['_STATSDATOM']._serialized_start=75 + _globals['_STATSDATOM']._serialized_end=149 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/sys_stats/__init__.py b/lglpy/timeline/protos/perfetto/trace/sys_stats/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/sys_stats/sys_stats_pb2.py b/lglpy/timeline/protos/perfetto/trace/sys_stats/sys_stats_pb2.py new file mode 100644 index 0000000..696ce57 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/sys_stats/sys_stats_pb2.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/sys_stats/sys_stats.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/sys_stats/sys_stats.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import sys_stats_counters_pb2 as protos_dot_perfetto_dot_common_dot_sys__stats__counters__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/protos/perfetto/trace/sys_stats/sys_stats.proto\x12\x0fperfetto.protos\x1a/protos/perfetto/common/sys_stats_counters.proto\"\xc1\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\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\xa2\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\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.sys_stats.sys_stats_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SYSSTATS']._serialized_start=118 + _globals['_SYSSTATS']._serialized_end=2103 + _globals['_SYSSTATS_MEMINFOVALUE']._serialized_start=885 + _globals['_SYSSTATS_MEMINFOVALUE']._serialized_end=961 + _globals['_SYSSTATS_VMSTATVALUE']._serialized_start=963 + _globals['_SYSSTATS_VMSTATVALUE']._serialized_end=1037 + _globals['_SYSSTATS_CPUTIMES']._serialized_start=1040 + _globals['_SYSSTATS_CPUTIMES']._serialized_end=1202 + _globals['_SYSSTATS_INTERRUPTCOUNT']._serialized_start=1204 + _globals['_SYSSTATS_INTERRUPTCOUNT']._serialized_end=1248 + _globals['_SYSSTATS_DEVFREQVALUE']._serialized_start=1250 + _globals['_SYSSTATS_DEVFREQVALUE']._serialized_end=1292 + _globals['_SYSSTATS_BUDDYINFO']._serialized_start=1294 + _globals['_SYSSTATS_BUDDYINFO']._serialized_end=1354 + _globals['_SYSSTATS_DISKSTAT']._serialized_start=1357 + _globals['_SYSSTATS_DISKSTAT']._serialized_end=1572 + _globals['_SYSSTATS_PSISAMPLE']._serialized_start=1575 + _globals['_SYSSTATS_PSISAMPLE']._serialized_end=1883 + _globals['_SYSSTATS_PSISAMPLE_PSIRESOURCE']._serialized_start=1674 + _globals['_SYSSTATS_PSISAMPLE_PSIRESOURCE']._serialized_end=1883 + _globals['_SYSSTATS_THERMALZONE']._serialized_start=1885 + _globals['_SYSSTATS_THERMALZONE']._serialized_end=1940 + _globals['_SYSSTATS_CPUIDLESTATEENTRY']._serialized_start=1942 + _globals['_SYSSTATS_CPUIDLESTATEENTRY']._serialized_end=1997 + _globals['_SYSSTATS_CPUIDLESTATE']._serialized_start=1999 + _globals['_SYSSTATS_CPUIDLESTATE']._serialized_end=2103 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/system_info/__init__.py b/lglpy/timeline/protos/perfetto/trace/system_info/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/system_info/cpu_info_pb2.py b/lglpy/timeline/protos/perfetto/trace/system_info/cpu_info_pb2.py new file mode 100644 index 0000000..0a82301 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/system_info/cpu_info_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/system_info/cpu_info.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/system_info/cpu_info.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0protos/perfetto/trace/system_info/cpu_info.proto\x12\x0fperfetto.protos\"v\n\x07\x43puInfo\x12*\n\x04\x63pus\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.CpuInfo.Cpu\x1a?\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.system_info.cpu_info_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CPUINFO']._serialized_start=69 + _globals['_CPUINFO']._serialized_end=187 + _globals['_CPUINFO_CPU']._serialized_start=124 + _globals['_CPUINFO_CPU']._serialized_end=187 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/system_info_pb2.py b/lglpy/timeline/protos/perfetto/trace/system_info_pb2.py new file mode 100644 index 0000000..2cba362 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/system_info_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/system_info.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/system_info.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'protos/perfetto/trace/system_info.proto\x12\x0fperfetto.protos\"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\"\xa2\x02\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\x19\n\x11\x61ndroid_soc_model\x18\t \x01(\t\x12!\n\x19\x61ndroid_hardware_revision\x18\n \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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.system_info_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_UTSNAME']._serialized_start=60 + _globals['_UTSNAME']._serialized_end=137 + _globals['_SYSTEMINFO']._serialized_start=140 + _globals['_SYSTEMINFO']._serialized_end=430 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/test_event_pb2.py b/lglpy/timeline/protos/perfetto/trace/test_event_pb2.py new file mode 100644 index 0000000..822f65d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/test_event_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/test_event.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/test_event.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.track_event import debug_annotation_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_debug__annotation__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/test_event.proto\x12\x0fperfetto.protos\x1a\x38protos/perfetto/trace/track_event/debug_annotation.proto\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.test_event_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TESTEVENT']._serialized_start=118 + _globals['_TESTEVENT']._serialized_end=497 + _globals['_TESTEVENT_TESTPAYLOAD']._serialized_start=255 + _globals['_TESTEVENT_TESTPAYLOAD']._serialized_end=497 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/test_extensions_pb2.py b/lglpy/timeline/protos/perfetto/trace/test_extensions_pb2.py new file mode 100644 index 0000000..8eb4645 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/test_extensions_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/test_extensions.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/test_extensions.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.track_event import track_event_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_track__event__pb2 +from protos.perfetto.trace.track_event import debug_annotation_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_debug__annotation__pb2 + +from protos.perfetto.trace.track_event.track_event_pb2 import * + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+protos/perfetto/trace/test_extensions.proto\x12\x0fperfetto.protos\x1a\x33protos/perfetto/trace/track_event/track_event.proto\x1a\x38protos/perfetto/trace/track_event/debug_annotation.proto\"\xd1\x03\n\rTestExtension2B\n\x1cstring_extension_for_testing\x12\x1b.perfetto.protos.TrackEvent\x18\xacM \x01(\t2C\n\x1dstring_extension_for_testing2\x12\x1b.perfetto.protos.TrackEvent\x18\xb1M \x01(\t2?\n\x19int_extension_for_testing\x12\x1b.perfetto.protos.TrackEvent\x18\xadM \x03(\x05\x32\x43\n\x1domitted_extension_for_testing\x12\x1b.perfetto.protos.TrackEvent\x18\xaeM \x01(\t2o\n$nested_message_extension_for_testing\x12\x1b.perfetto.protos.TrackEvent\x18\xafM \x01(\x0b\x32#.perfetto.protos.TestExtensionChild2@\n\x1auint_extension_for_testing\x12\x1b.perfetto.protos.TrackEvent\x18\xb0M \x01(\r\"r\n\x12TestExtensionChild\x12\x1f\n\x17\x63hild_field_for_testing\x18\x01 \x01(\t\x12;\n\x11\x64\x65\x62ug_annotations\x18\x63 \x03(\x0b\x32 .perfetto.protos.DebugAnnotationP\x00') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.test_extensions_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TESTEXTENSION']._serialized_start=176 + _globals['_TESTEXTENSION']._serialized_end=641 + _globals['_TESTEXTENSIONCHILD']._serialized_start=643 + _globals['_TESTEXTENSIONCHILD']._serialized_end=757 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/trace_packet_defaults_pb2.py b/lglpy/timeline/protos/perfetto/trace/trace_packet_defaults_pb2.py new file mode 100644 index 0000000..f18cbfc --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/trace_packet_defaults_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/trace_packet_defaults.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/trace_packet_defaults.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.chrome import v8_pb2 as protos_dot_perfetto_dot_trace_dot_chrome_dot_v8__pb2 +from protos.perfetto.trace.profiling import profile_packet_pb2 as protos_dot_perfetto_dot_trace_dot_profiling_dot_profile__packet__pb2 +from protos.perfetto.trace.track_event import track_event_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_track__event__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1protos/perfetto/trace/trace_packet_defaults.proto\x12\x0fperfetto.protos\x1a%protos/perfetto/trace/chrome/v8.proto\x1a\x34protos/perfetto/trace/profiling/profile_packet.proto\x1a\x33protos/perfetto/trace/track_event/track_event.proto\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.trace_packet_defaults_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACEPACKETDEFAULTS']._serialized_start=217 + _globals['_TRACEPACKETDEFAULTS']._serialized_end=459 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/trace_packet_pb2.py b/lglpy/timeline/protos/perfetto/trace/trace_packet_pb2.py new file mode 100644 index 0000000..6dbdd38 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/trace_packet_pb2.py @@ -0,0 +1,107 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/trace_packet.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/trace_packet.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import trace_stats_pb2 as protos_dot_perfetto_dot_common_dot_trace__stats__pb2 +from protos.perfetto.config import trace_config_pb2 as protos_dot_perfetto_dot_config_dot_trace__config__pb2 +from protos.perfetto.trace import extension_descriptor_pb2 as protos_dot_perfetto_dot_trace_dot_extension__descriptor__pb2 +from protos.perfetto.trace.android import android_game_intervention_list_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_android__game__intervention__list__pb2 +from protos.perfetto.trace.android import android_log_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_android__log__pb2 +from protos.perfetto.trace.android import android_system_property_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_android__system__property__pb2 +from protos.perfetto.trace.android import camera_event_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_camera__event__pb2 +from protos.perfetto.trace.android import frame_timeline_event_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_frame__timeline__event__pb2 +from protos.perfetto.trace.android import gpu_mem_event_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_gpu__mem__event__pb2 +from protos.perfetto.trace.android import graphics_frame_event_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_graphics__frame__event__pb2 +from protos.perfetto.trace.android import initial_display_state_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_initial__display__state__pb2 +from protos.perfetto.trace.android import network_trace_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_network__trace__pb2 +from protos.perfetto.trace.android import packages_list_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_packages__list__pb2 +from protos.perfetto.trace.android import pixel_modem_events_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_pixel__modem__events__pb2 +from protos.perfetto.trace.android import protolog_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_protolog__pb2 +from protos.perfetto.trace.android import shell_transition_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_shell__transition__pb2 +from protos.perfetto.trace.android import surfaceflinger_layers_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_surfaceflinger__layers__pb2 +from protos.perfetto.trace.android import surfaceflinger_transactions_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_surfaceflinger__transactions__pb2 +from protos.perfetto.trace.android import winscope_extensions_pb2 as protos_dot_perfetto_dot_trace_dot_android_dot_winscope__extensions__pb2 +from protos.perfetto.trace.chrome import chrome_benchmark_metadata_pb2 as protos_dot_perfetto_dot_trace_dot_chrome_dot_chrome__benchmark__metadata__pb2 +from protos.perfetto.trace.chrome import chrome_metadata_pb2 as protos_dot_perfetto_dot_trace_dot_chrome_dot_chrome__metadata__pb2 +from protos.perfetto.trace.chrome import chrome_trace_event_pb2 as protos_dot_perfetto_dot_trace_dot_chrome_dot_chrome__trace__event__pb2 +from protos.perfetto.trace.chrome import chrome_trigger_pb2 as protos_dot_perfetto_dot_trace_dot_chrome_dot_chrome__trigger__pb2 +from protos.perfetto.trace.chrome import v8_pb2 as protos_dot_perfetto_dot_trace_dot_chrome_dot_v8__pb2 +from protos.perfetto.trace import clock_snapshot_pb2 as protos_dot_perfetto_dot_trace_dot_clock__snapshot__pb2 +from protos.perfetto.trace.etw import etw_event_bundle_pb2 as protos_dot_perfetto_dot_trace_dot_etw_dot_etw__event__bundle__pb2 +from protos.perfetto.trace.filesystem import inode_file_map_pb2 as protos_dot_perfetto_dot_trace_dot_filesystem_dot_inode__file__map__pb2 +from protos.perfetto.trace.ftrace import ftrace_event_bundle_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_ftrace__event__bundle__pb2 +from protos.perfetto.trace.ftrace import ftrace_stats_pb2 as protos_dot_perfetto_dot_trace_dot_ftrace_dot_ftrace__stats__pb2 +from protos.perfetto.trace.gpu import gpu_counter_event_pb2 as protos_dot_perfetto_dot_trace_dot_gpu_dot_gpu__counter__event__pb2 +from protos.perfetto.trace.gpu import gpu_log_pb2 as protos_dot_perfetto_dot_trace_dot_gpu_dot_gpu__log__pb2 +from protos.perfetto.trace.gpu import gpu_render_stage_event_pb2 as protos_dot_perfetto_dot_trace_dot_gpu_dot_gpu__render__stage__event__pb2 +from protos.perfetto.trace.gpu import vulkan_memory_event_pb2 as protos_dot_perfetto_dot_trace_dot_gpu_dot_vulkan__memory__event__pb2 +from protos.perfetto.trace.gpu import vulkan_api_event_pb2 as protos_dot_perfetto_dot_trace_dot_gpu_dot_vulkan__api__event__pb2 +from protos.perfetto.trace.interned_data import interned_data_pb2 as protos_dot_perfetto_dot_trace_dot_interned__data_dot_interned__data__pb2 +from protos.perfetto.trace import memory_graph_pb2 as protos_dot_perfetto_dot_trace_dot_memory__graph__pb2 +from protos.perfetto.trace.perfetto import perfetto_metatrace_pb2 as protos_dot_perfetto_dot_trace_dot_perfetto_dot_perfetto__metatrace__pb2 +from protos.perfetto.trace.perfetto import tracing_service_event_pb2 as protos_dot_perfetto_dot_trace_dot_perfetto_dot_tracing__service__event__pb2 +from protos.perfetto.trace.power import android_energy_estimation_breakdown_pb2 as protos_dot_perfetto_dot_trace_dot_power_dot_android__energy__estimation__breakdown__pb2 +from protos.perfetto.trace.power import android_entity_state_residency_pb2 as protos_dot_perfetto_dot_trace_dot_power_dot_android__entity__state__residency__pb2 +from protos.perfetto.trace.power import battery_counters_pb2 as protos_dot_perfetto_dot_trace_dot_power_dot_battery__counters__pb2 +from protos.perfetto.trace.power import power_rails_pb2 as protos_dot_perfetto_dot_trace_dot_power_dot_power__rails__pb2 +from protos.perfetto.trace.statsd import statsd_atom_pb2 as protos_dot_perfetto_dot_trace_dot_statsd_dot_statsd__atom__pb2 +from protos.perfetto.trace.profiling import deobfuscation_pb2 as protos_dot_perfetto_dot_trace_dot_profiling_dot_deobfuscation__pb2 +from protos.perfetto.trace.profiling import heap_graph_pb2 as protos_dot_perfetto_dot_trace_dot_profiling_dot_heap__graph__pb2 +try: + protos_dot_perfetto_dot_trace_dot_profiling_dot_deobfuscation__pb2 = protos_dot_perfetto_dot_trace_dot_profiling_dot_heap__graph__pb2.protos_dot_perfetto_dot_trace_dot_profiling_dot_deobfuscation__pb2 +except AttributeError: + protos_dot_perfetto_dot_trace_dot_profiling_dot_deobfuscation__pb2 = protos_dot_perfetto_dot_trace_dot_profiling_dot_heap__graph__pb2.protos.perfetto.trace.profiling.deobfuscation_pb2 +from protos.perfetto.trace.profiling import profile_common_pb2 as protos_dot_perfetto_dot_trace_dot_profiling_dot_profile__common__pb2 +from protos.perfetto.trace.profiling import profile_packet_pb2 as protos_dot_perfetto_dot_trace_dot_profiling_dot_profile__packet__pb2 +from protos.perfetto.trace.profiling import smaps_pb2 as protos_dot_perfetto_dot_trace_dot_profiling_dot_smaps__pb2 +from protos.perfetto.trace.ps import process_stats_pb2 as protos_dot_perfetto_dot_trace_dot_ps_dot_process__stats__pb2 +from protos.perfetto.trace.ps import process_tree_pb2 as protos_dot_perfetto_dot_trace_dot_ps_dot_process__tree__pb2 +from protos.perfetto.trace import remote_clock_sync_pb2 as protos_dot_perfetto_dot_trace_dot_remote__clock__sync__pb2 +from protos.perfetto.trace.sys_stats import sys_stats_pb2 as protos_dot_perfetto_dot_trace_dot_sys__stats_dot_sys__stats__pb2 +from protos.perfetto.trace import system_info_pb2 as protos_dot_perfetto_dot_trace_dot_system__info__pb2 +from protos.perfetto.trace.system_info import cpu_info_pb2 as protos_dot_perfetto_dot_trace_dot_system__info_dot_cpu__info__pb2 +from protos.perfetto.trace import trace_packet_defaults_pb2 as protos_dot_perfetto_dot_trace_dot_trace__packet__defaults__pb2 +from protos.perfetto.trace.track_event import process_descriptor_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_process__descriptor__pb2 +from protos.perfetto.trace.track_event import range_of_interest_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_range__of__interest__pb2 +from protos.perfetto.trace.track_event import thread_descriptor_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_thread__descriptor__pb2 +from protos.perfetto.trace.track_event import track_descriptor_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_track__descriptor__pb2 +from protos.perfetto.trace.track_event import track_event_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_track__event__pb2 +from protos.perfetto.trace.translation import translation_table_pb2 as protos_dot_perfetto_dot_trace_dot_translation_dot_translation__table__pb2 +from protos.perfetto.trace import trace_uuid_pb2 as protos_dot_perfetto_dot_trace_dot_trace__uuid__pb2 +from protos.perfetto.trace import trigger_pb2 as protos_dot_perfetto_dot_trace_dot_trigger__pb2 +from protos.perfetto.trace import test_event_pb2 as protos_dot_perfetto_dot_trace_dot_test__event__pb2 +from protos.perfetto.trace import ui_state_pb2 as protos_dot_perfetto_dot_trace_dot_ui__state__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(protos/perfetto/trace/trace_packet.proto\x12\x0fperfetto.protos\x1a(protos/perfetto/common/trace_stats.proto\x1a)protos/perfetto/config/trace_config.proto\x1a\x30protos/perfetto/trace/extension_descriptor.proto\x1a\x42protos/perfetto/trace/android/android_game_intervention_list.proto\x1a/protos/perfetto/trace/android/android_log.proto\x1a;protos/perfetto/trace/android/android_system_property.proto\x1a\x30protos/perfetto/trace/android/camera_event.proto\x1a\x38protos/perfetto/trace/android/frame_timeline_event.proto\x1a\x31protos/perfetto/trace/android/gpu_mem_event.proto\x1a\x38protos/perfetto/trace/android/graphics_frame_event.proto\x1a\x39protos/perfetto/trace/android/initial_display_state.proto\x1a\x31protos/perfetto/trace/android/network_trace.proto\x1a\x31protos/perfetto/trace/android/packages_list.proto\x1a\x36protos/perfetto/trace/android/pixel_modem_events.proto\x1a,protos/perfetto/trace/android/protolog.proto\x1a\x34protos/perfetto/trace/android/shell_transition.proto\x1a\x39protos/perfetto/trace/android/surfaceflinger_layers.proto\x1a?protos/perfetto/trace/android/surfaceflinger_transactions.proto\x1a\x37protos/perfetto/trace/android/winscope_extensions.proto\x1a \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\x12G\n\x16profiled_frame_symbols\x18\x37 \x01(\x0b\x32%.perfetto.protos.ProfiledFrameSymbolsH\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\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\x10k') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.trace_packet_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACEPACKET']._serialized_start=3442 + _globals['_TRACEPACKET']._serialized_end=8962 + _globals['_TRACEPACKET_SEQUENCEFLAGS']._serialized_start=8781 + _globals['_TRACEPACKET_SEQUENCEFLAGS']._serialized_end=8885 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/trace_pb2.py b/lglpy/timeline/protos/perfetto/trace/trace_pb2.py new file mode 100644 index 0000000..7d7543d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/trace_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/trace.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/trace.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace import trace_packet_pb2 as protos_dot_perfetto_dot_trace_dot_trace__packet__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!protos/perfetto/trace/trace.proto\x12\x0fperfetto.protos\x1a(protos/perfetto/trace/trace_packet.proto\"5\n\x05Trace\x12,\n\x06packet\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.TracePacket') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.trace_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACE']._serialized_start=96 + _globals['_TRACE']._serialized_end=149 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/trace_uuid_pb2.py b/lglpy/timeline/protos/perfetto/trace/trace_uuid_pb2.py new file mode 100644 index 0000000..cb07dff --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/trace_uuid_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/trace_uuid.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/trace_uuid.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&protos/perfetto/trace/trace_uuid.proto\x12\x0fperfetto.protos\"%\n\tTraceUuid\x12\x0b\n\x03msb\x18\x01 \x01(\x03\x12\x0b\n\x03lsb\x18\x02 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.trace_uuid_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACEUUID']._serialized_start=59 + _globals['_TRACEUUID']._serialized_end=96 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/__init__.py b/lglpy/timeline/protos/perfetto/trace/track_event/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_active_processes_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_active_processes_pb2.py new file mode 100644 index 0000000..b20366f --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_active_processes_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_active_processes.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_active_processes.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?protos/perfetto/trace/track_event/chrome_active_processes.proto\x12\x0fperfetto.protos\"$\n\x15\x43hromeActiveProcesses\x12\x0b\n\x03pid\x18\x01 \x03(\x05') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_active_processes_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMEACTIVEPROCESSES']._serialized_start=84 + _globals['_CHROMEACTIVEPROCESSES']._serialized_end=120 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_application_state_info_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_application_state_info_pb2.py new file mode 100644 index 0000000..c630c7c --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_application_state_info_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_application_state_info.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_application_state_info.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nEprotos/perfetto/trace/track_event/chrome_application_state_info.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_application_state_info_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMEAPPLICATIONSTATEINFO']._serialized_start=91 + _globals['_CHROMEAPPLICATIONSTATEINFO']._serialized_end=457 + _globals['_CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE']._serialized_start=217 + _globals['_CHROMEAPPLICATIONSTATEINFO_CHROMEAPPLICATIONSTATE']._serialized_end=457 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_compositor_scheduler_state_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_compositor_scheduler_state_pb2.py new file mode 100644 index 0000000..52358a9 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_compositor_scheduler_state_pb2.py @@ -0,0 +1,75 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_compositor_scheduler_state.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_compositor_scheduler_state.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.track_event import source_location_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_source__location__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nIprotos/perfetto/trace/track_event/chrome_compositor_scheduler_state.proto\x12\x0fperfetto.protos\x1a\x37protos/perfetto/trace/track_event/source_location.proto\"\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*\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_compositor_scheduler_state_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMECOMPOSITORSCHEDULERACTION']._serialized_start=6747 + _globals['_CHROMECOMPOSITORSCHEDULERACTION']._serialized_end=7435 + _globals['_CHROMECOMPOSITORSCHEDULERSTATE']._serialized_start=152 + _globals['_CHROMECOMPOSITORSCHEDULERSTATE']._serialized_end=1239 + _globals['_CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE']._serialized_start=1043 + _globals['_CHROMECOMPOSITORSCHEDULERSTATE_BEGINIMPLFRAMEDEADLINEMODE']._serialized_end=1233 + _globals['_CHROMECOMPOSITORSTATEMACHINE']._serialized_start=1242 + _globals['_CHROMECOMPOSITORSTATEMACHINE']._serialized_end=4952 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE']._serialized_start=1433 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE']._serialized_end=2732 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE']._serialized_start=1972 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINIMPLFRAMESTATE']._serialized_end=2133 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE']._serialized_start=2136 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_BEGINMAINFRAMESTATE']._serialized_end=2283 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE']._serialized_start=2286 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_LAYERTREEFRAMESINKSTATE']._serialized_end=2530 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE']._serialized_start=2533 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MAJORSTATE_FORCEDREDRAWONTIMEOUTSTATE']._serialized_end=2732 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MINORSTATE']._serialized_start=2735 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MINORSTATE']._serialized_end=4952 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY']._serialized_start=4629 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_TREEPRIORITY']._serialized_end=4813 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE']._serialized_start=4816 + _globals['_CHROMECOMPOSITORSTATEMACHINE_MINORSTATE_SCROLLHANDLERSTATE']._serialized_end=4946 + _globals['_BEGINFRAMEARGS']._serialized_start=4955 + _globals['_BEGINFRAMEARGS']._serialized_end=5509 + _globals['_BEGINFRAMEARGS_BEGINFRAMEARGSTYPE']._serialized_start=5331 + _globals['_BEGINFRAMEARGS_BEGINFRAMEARGSTYPE']._serialized_end=5493 + _globals['_BEGINIMPLFRAMEARGS']._serialized_start=5512 + _globals['_BEGINIMPLFRAMEARGS']._serialized_end=6088 + _globals['_BEGINIMPLFRAMEARGS_TIMESTAMPSINUS']._serialized_start=5829 + _globals['_BEGINIMPLFRAMEARGS_TIMESTAMPSINUS']._serialized_end=6022 + _globals['_BEGINIMPLFRAMEARGS_STATE']._serialized_start=6024 + _globals['_BEGINIMPLFRAMEARGS_STATE']._serialized_end=6080 + _globals['_BEGINFRAMEOBSERVERSTATE']._serialized_start=6090 + _globals['_BEGINFRAMEOBSERVERSTATE']._serialized_end=6213 + _globals['_BEGINFRAMESOURCESTATE']._serialized_start=6216 + _globals['_BEGINFRAMESOURCESTATE']._serialized_end=6361 + _globals['_COMPOSITORTIMINGHISTORY']._serialized_start=6364 + _globals['_COMPOSITORTIMINGHISTORY']._serialized_end=6744 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_content_settings_event_info_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_content_settings_event_info_pb2.py new file mode 100644 index 0000000..541eb32 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_content_settings_event_info_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_content_settings_event_info.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_content_settings_event_info.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nJprotos/perfetto/trace/track_event/chrome_content_settings_event_info.proto\x12\x0fperfetto.protos\">\n\x1e\x43hromeContentSettingsEventInfo\x12\x1c\n\x14number_of_exceptions\x18\x01 \x01(\r') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_content_settings_event_info_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMECONTENTSETTINGSEVENTINFO']._serialized_start=95 + _globals['_CHROMECONTENTSETTINGSEVENTINFO']._serialized_end=157 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_frame_reporter_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_frame_reporter_pb2.py new file mode 100644 index 0000000..f2e9461 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_frame_reporter_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_frame_reporter.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_frame_reporter.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n=protos/perfetto/trace/track_event/chrome_frame_reporter.proto\x12\x0fperfetto.protos\"\x8f\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\"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\"h\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\x12\n\x0eSCROLL_UNKNOWN\x10\x03\"%\n\tFrameType\x12\n\n\x06\x46ORKED\x10\x00\x12\x0c\n\x08\x42\x41\x43KFILL\x10\x01') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_frame_reporter_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMEFRAMEREPORTER']._serialized_start=83 + _globals['_CHROMEFRAMEREPORTER']._serialized_end=1122 + _globals['_CHROMEFRAMEREPORTER_STATE']._serialized_start=740 + _globals['_CHROMEFRAMEREPORTER_STATE']._serialized_end=849 + _globals['_CHROMEFRAMEREPORTER_FRAMEDROPREASON']._serialized_start=851 + _globals['_CHROMEFRAMEREPORTER_FRAMEDROPREASON']._serialized_end=977 + _globals['_CHROMEFRAMEREPORTER_SCROLLSTATE']._serialized_start=979 + _globals['_CHROMEFRAMEREPORTER_SCROLLSTATE']._serialized_end=1083 + _globals['_CHROMEFRAMEREPORTER_FRAMETYPE']._serialized_start=1085 + _globals['_CHROMEFRAMEREPORTER_FRAMETYPE']._serialized_end=1122 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_histogram_sample_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_histogram_sample_pb2.py new file mode 100644 index 0000000..86ea4a2 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_histogram_sample_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_histogram_sample.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_histogram_sample.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?protos/perfetto/trace/track_event/chrome_histogram_sample.proto\x12\x0fperfetto.protos\"*\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_histogram_sample_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_HISTOGRAMNAME']._serialized_start=84 + _globals['_HISTOGRAMNAME']._serialized_end=126 + _globals['_CHROMEHISTOGRAMSAMPLE']._serialized_start=128 + _globals['_CHROMEHISTOGRAMSAMPLE']._serialized_end=218 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_keyed_service_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_keyed_service_pb2.py new file mode 100644 index 0000000..c287b4d --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_keyed_service_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_keyed_service.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_keyed_service.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_latency_info_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMELATENCYINFO']._serialized_start=81 + _globals['_CHROMELATENCYINFO']._serialized_end=1863 + _globals['_CHROMELATENCYINFO_COMPONENTINFO']._serialized_start=410 + _globals['_CHROMELATENCYINFO_COMPONENTINFO']._serialized_end=523 + _globals['_CHROMELATENCYINFO_STEP']._serialized_start=526 + _globals['_CHROMELATENCYINFO_STEP']._serialized_end=928 + _globals['_CHROMELATENCYINFO_LATENCYCOMPONENTTYPE']._serialized_start=931 + _globals['_CHROMELATENCYINFO_LATENCYCOMPONENTTYPE']._serialized_end=1688 + _globals['_CHROMELATENCYINFO_INPUTTYPE']._serialized_start=1691 + _globals['_CHROMELATENCYINFO_INPUTTYPE']._serialized_end=1863 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_legacy_ipc_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_legacy_ipc_pb2.py new file mode 100644 index 0000000..40c5664 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_legacy_ipc_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_legacy_ipc.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_legacy_ipc.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/trace/track_event/chrome_legacy_ipc.proto\x12\x0fperfetto.protos\"\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%') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_legacy_ipc_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMELEGACYIPC']._serialized_start=79 + _globals['_CHROMELEGACYIPC']._serialized_end=1053 + _globals['_CHROMELEGACYIPC_MESSAGECLASS']._serialized_start=191 + _globals['_CHROMELEGACYIPC_MESSAGECLASS']._serialized_end=1053 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_message_pump_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_message_pump_pb2.py new file mode 100644 index 0000000..7fcd7d6 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_message_pump_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_message_pump.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_message_pump.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n;protos/perfetto/trace/track_event/chrome_message_pump.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_message_pump_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMEMESSAGEPUMP']._serialized_start=80 + _globals['_CHROMEMESSAGEPUMP']._serialized_end=164 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_mojo_event_info_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_mojo_event_info_pb2.py new file mode 100644 index 0000000..8744324 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_mojo_event_info_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_mojo_event_info.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_mojo_event_info.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n>protos/perfetto/trace/track_event/chrome_mojo_event_info.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_mojo_event_info_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMEMOJOEVENTINFO']._serialized_start=84 + _globals['_CHROMEMOJOEVENTINFO']._serialized_end=288 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_process_descriptor_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_process_descriptor_pb2.py new file mode 100644 index 0000000..d717dac --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_process_descriptor_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_process_descriptor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_process_descriptor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nAprotos/perfetto/trace/track_event/chrome_process_descriptor.proto\x12\x0fperfetto.protos\"\xe5\x0b\n\x17\x43hromeProcessDescriptor\x12J\n\x0cprocess_type\x18\x01 \x01(\x0e\x32\x34.perfetto.protos.ChromeProcessDescriptor.ProcessType\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\"\x91\n\n\x0bProcessType\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\x12\x1b\n\x17PROCESS_SERVICE_NETWORK\x10\t\x12\x1b\n\x17PROCESS_SERVICE_TRACING\x10\n\x12\x1b\n\x17PROCESS_SERVICE_STORAGE\x10\x0b\x12\x19\n\x15PROCESS_SERVICE_AUDIO\x10\x0c\x12 \n\x1cPROCESS_SERVICE_DATA_DECODER\x10\r\x12\x1c\n\x18PROCESS_SERVICE_UTIL_WIN\x10\x0e\x12\"\n\x1ePROCESS_SERVICE_PROXY_RESOLVER\x10\x0f\x12\x17\n\x13PROCESS_SERVICE_CDM\x10\x10\x12!\n\x1dPROCESS_SERVICE_VIDEO_CAPTURE\x10\x11\x12\x1c\n\x18PROCESS_SERVICE_UNZIPPER\x10\x12\x12\x1d\n\x19PROCESS_SERVICE_MIRRORING\x10\x13\x12\x1f\n\x1bPROCESS_SERVICE_FILEPATCHER\x10\x14\x12\x17\n\x13PROCESS_SERVICE_TTS\x10\x15\x12\x1c\n\x18PROCESS_SERVICE_PRINTING\x10\x16\x12\x1e\n\x1aPROCESS_SERVICE_QUARANTINE\x10\x17\x12$\n PROCESS_SERVICE_CROS_LOCALSEARCH\x10\x18\x12\x30\n,PROCESS_SERVICE_CROS_ASSISTANT_AUDIO_DECODER\x10\x19\x12\x1c\n\x18PROCESS_SERVICE_FILEUTIL\x10\x1a\x12#\n\x1fPROCESS_SERVICE_PRINTCOMPOSITOR\x10\x1b\x12 \n\x1cPROCESS_SERVICE_PAINTPREVIEW\x10\x1c\x12%\n!PROCESS_SERVICE_SPEECHRECOGNITION\x10\x1d\x12\x1c\n\x18PROCESS_SERVICE_XRDEVICE\x10\x1e\x12\x1c\n\x18PROCESS_SERVICE_READICON\x10\x1f\x12%\n!PROCESS_SERVICE_LANGUAGEDETECTION\x10 \x12\x1b\n\x17PROCESS_SERVICE_SHARING\x10!\x12\x1f\n\x1bPROCESS_SERVICE_MEDIAPARSER\x10\"\x12#\n\x1fPROCESS_SERVICE_QRCODEGENERATOR\x10#\x12!\n\x1dPROCESS_SERVICE_PROFILEIMPORT\x10$\x12\x17\n\x13PROCESS_SERVICE_IME\x10%\x12\x1d\n\x19PROCESS_SERVICE_RECORDING\x10&\x12\"\n\x1ePROCESS_SERVICE_SHAPEDETECTION\x10\'\x12\x1e\n\x1aPROCESS_RENDERER_EXTENSION\x10(\x12$\n PROCESS_SERVICE_MEDIA_FOUNDATION\x10)') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_process_descriptor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMEPROCESSDESCRIPTOR']._serialized_start=87 + _globals['_CHROMEPROCESSDESCRIPTOR']._serialized_end=1596 + _globals['_CHROMEPROCESSDESCRIPTOR_PROCESSTYPE']._serialized_start=299 + _globals['_CHROMEPROCESSDESCRIPTOR_PROCESSTYPE']._serialized_end=1596 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_renderer_scheduler_state_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_renderer_scheduler_state_pb2.py new file mode 100644 index 0000000..c717971 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_renderer_scheduler_state_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_renderer_scheduler_state.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_renderer_scheduler_state.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nGprotos/perfetto/trace/track_event/chrome_renderer_scheduler_state.proto\x12\x0fperfetto.protos\"~\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*}\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_renderer_scheduler_state_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMERAILMODE']._serialized_start=220 + _globals['_CHROMERAILMODE']._serialized_end=345 + _globals['_CHROMERENDERERSCHEDULERSTATE']._serialized_start=92 + _globals['_CHROMERENDERERSCHEDULERSTATE']._serialized_end=218 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_thread_descriptor_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_thread_descriptor_pb2.py new file mode 100644 index 0000000..b435253 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_thread_descriptor_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_thread_descriptor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_thread_descriptor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n@protos/perfetto/trace/track_event/chrome_thread_descriptor.proto\x12\x0fperfetto.protos\"\xec\t\n\x16\x43hromeThreadDescriptor\x12G\n\x0bthread_type\x18\x01 \x01(\x0e\x32\x32.perfetto.protos.ChromeThreadDescriptor.ThreadType\x12\x19\n\x11legacy_sort_index\x18\x02 \x01(\x05\"\xed\x08\n\nThreadType\x12\x16\n\x12THREAD_UNSPECIFIED\x10\x00\x12\x0f\n\x0bTHREAD_MAIN\x10\x01\x12\r\n\tTHREAD_IO\x10\x02\x12\x19\n\x15THREAD_POOL_BG_WORKER\x10\x03\x12\x19\n\x15THREAD_POOL_FG_WORKER\x10\x04\x12\x1b\n\x17THREAD_POOL_FG_BLOCKING\x10\x05\x12\x1b\n\x17THREAD_POOL_BG_BLOCKING\x10\x06\x12\x17\n\x13THREAD_POOL_SERVICE\x10\x07\x12\x15\n\x11THREAD_COMPOSITOR\x10\x08\x12\x19\n\x15THREAD_VIZ_COMPOSITOR\x10\t\x12\x1c\n\x18THREAD_COMPOSITOR_WORKER\x10\n\x12\x19\n\x15THREAD_SERVICE_WORKER\x10\x0b\x12\x1a\n\x16THREAD_NETWORK_SERVICE\x10\x0c\x12\x13\n\x0fTHREAD_CHILD_IO\x10\r\x12\x15\n\x11THREAD_BROWSER_IO\x10\x0e\x12\x17\n\x13THREAD_BROWSER_MAIN\x10\x0f\x12\x18\n\x14THREAD_RENDERER_MAIN\x10\x10\x12\x17\n\x13THREAD_UTILITY_MAIN\x10\x11\x12\x13\n\x0fTHREAD_GPU_MAIN\x10\x12\x12\x1a\n\x16THREAD_CACHE_BLOCKFILE\x10\x13\x12\x10\n\x0cTHREAD_MEDIA\x10\x14\x12\x1d\n\x19THREAD_AUDIO_OUTPUTDEVICE\x10\x15\x12\x1c\n\x18THREAD_AUDIO_INPUTDEVICE\x10\x16\x12\x15\n\x11THREAD_GPU_MEMORY\x10\x17\x12\x14\n\x10THREAD_GPU_VSYNC\x10\x18\x12\x1b\n\x17THREAD_DXA_VIDEODECODER\x10\x19\x12\x1b\n\x17THREAD_BROWSER_WATCHDOG\x10\x1a\x12\x19\n\x15THREAD_WEBRTC_NETWORK\x10\x1b\x12\x17\n\x13THREAD_WINDOW_OWNER\x10\x1c\x12\x1b\n\x17THREAD_WEBRTC_SIGNALING\x10\x1d\x12\x18\n\x14THREAD_WEBRTC_WORKER\x10\x1e\x12\x15\n\x11THREAD_PPAPI_MAIN\x10\x1f\x12\x17\n\x13THREAD_GPU_WATCHDOG\x10 \x12\x12\n\x0eTHREAD_SWAPPER\x10!\x12\x1a\n\x16THREAD_GAMEPAD_POLLING\x10\"\x12\x14\n\x10THREAD_WEBCRYPTO\x10#\x12\x13\n\x0fTHREAD_DATABASE\x10$\x12\x18\n\x14THREAD_PROXYRESOLVER\x10%\x12\x16\n\x12THREAD_DEVTOOLSADB\x10&\x12\x1f\n\x1bTHREAD_NETWORKCONFIGWATCHER\x10\'\x12\x18\n\x14THREAD_WASAPI_RENDER\x10(\x12\x1e\n\x1aTHREAD_LOADER_LOCK_SAMPLER\x10)\x12\x17\n\x13THREAD_MEMORY_INFRA\x10\x32\x12\x1c\n\x18THREAD_SAMPLING_PROFILER\x10\x33') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_thread_descriptor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMETHREADDESCRIPTOR']._serialized_start=86 + _globals['_CHROMETHREADDESCRIPTOR']._serialized_end=1346 + _globals['_CHROMETHREADDESCRIPTOR_THREADTYPE']._serialized_start=213 + _globals['_CHROMETHREADDESCRIPTOR_THREADTYPE']._serialized_end=1346 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_user_event_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_user_event_pb2.py new file mode 100644 index 0000000..9832811 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_user_event_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_user_event.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_user_event.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/trace/track_event/chrome_user_event.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_user_event_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMEUSEREVENT']._serialized_start=78 + _globals['_CHROMEUSEREVENT']._serialized_end=132 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/chrome_window_handle_event_info_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_window_handle_event_info_pb2.py new file mode 100644 index 0000000..4030018 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/chrome_window_handle_event_info_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/chrome_window_handle_event_info.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/chrome_window_handle_event_info.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nGprotos/perfetto/trace/track_event/chrome_window_handle_event_info.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.chrome_window_handle_event_info_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMEWINDOWHANDLEEVENTINFO']._serialized_start=92 + _globals['_CHROMEWINDOWHANDLEEVENTINFO']._serialized_end=172 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/counter_descriptor_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/counter_descriptor_pb2.py new file mode 100644 index 0000000..f39b734 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/counter_descriptor_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/counter_descriptor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/counter_descriptor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n:protos/perfetto/trace/track_event/counter_descriptor.proto\x12\x0fperfetto.protos\"\xad\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\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.counter_descriptor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_COUNTERDESCRIPTOR']._serialized_start=80 + _globals['_COUNTERDESCRIPTOR']._serialized_end=509 + _globals['_COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE']._serialized_start=313 + _globals['_COUNTERDESCRIPTOR_BUILTINCOUNTERTYPE']._serialized_end=424 + _globals['_COUNTERDESCRIPTOR_UNIT']._serialized_start=426 + _globals['_COUNTERDESCRIPTOR_UNIT']._serialized_end=509 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/debug_annotation_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/debug_annotation_pb2.py new file mode 100644 index 0000000..6063c90 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/debug_annotation_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/debug_annotation.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/debug_annotation.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8protos/perfetto/trace/track_event/debug_annotation.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.debug_annotation_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_DEBUGANNOTATION']._serialized_start=78 + _globals['_DEBUGANNOTATION']._serialized_end=1018 + _globals['_DEBUGANNOTATION_NESTEDVALUE']._serialized_start=590 + _globals['_DEBUGANNOTATION_NESTEDVALUE']._serialized_end=970 + _globals['_DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE']._serialized_start=920 + _globals['_DEBUGANNOTATION_NESTEDVALUE_NESTEDTYPE']._serialized_end=970 + _globals['_DEBUGANNOTATIONNAME']._serialized_start=1020 + _globals['_DEBUGANNOTATIONNAME']._serialized_end=1068 + _globals['_DEBUGANNOTATIONVALUETYPENAME']._serialized_start=1070 + _globals['_DEBUGANNOTATIONVALUETYPENAME']._serialized_end=1127 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/log_message_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/log_message_pb2.py new file mode 100644 index 0000000..a3e2169 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/log_message_pb2.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/log_message.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/log_message.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/trace/track_event/log_message.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.log_message_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_LOGMESSAGE']._serialized_start=73 + _globals['_LOGMESSAGE']._serialized_end=332 + _globals['_LOGMESSAGE_PRIORITY']._serialized_start=187 + _globals['_LOGMESSAGE_PRIORITY']._serialized_end=332 + _globals['_LOGMESSAGEBODY']._serialized_start=334 + _globals['_LOGMESSAGEBODY']._serialized_end=377 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/pixel_modem_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/pixel_modem_pb2.py new file mode 100644 index 0000000..441f684 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/pixel_modem_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/pixel_modem.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/pixel_modem.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/trace/track_event/pixel_modem.proto\x12\x0fperfetto.protos\"5\n\x16PixelModemEventInsight\x12\x1b\n\x13\x64\x65tokenized_message\x18\x01 \x01(\t') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.pixel_modem_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PIXELMODEMEVENTINSIGHT']._serialized_start=72 + _globals['_PIXELMODEMEVENTINSIGHT']._serialized_end=125 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/process_descriptor_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/process_descriptor_pb2.py new file mode 100644 index 0000000..8336cf0 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/process_descriptor_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/process_descriptor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/process_descriptor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n:protos/perfetto/trace/track_event/process_descriptor.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.process_descriptor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_PROCESSDESCRIPTOR']._serialized_start=80 + _globals['_PROCESSDESCRIPTOR']._serialized_end=567 + _globals['_PROCESSDESCRIPTOR_CHROMEPROCESSTYPE']._serialized_start=342 + _globals['_PROCESSDESCRIPTOR_CHROMEPROCESSTYPE']._serialized_end=567 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/range_of_interest_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/range_of_interest_pb2.py new file mode 100644 index 0000000..253a31f --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/range_of_interest_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/range_of_interest.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/range_of_interest.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/trace/track_event/range_of_interest.proto\x12\x0fperfetto.protos\"-\n\x19TrackEventRangeOfInterest\x12\x10\n\x08start_us\x18\x01 \x01(\x03') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.range_of_interest_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACKEVENTRANGEOFINTEREST']._serialized_start=78 + _globals['_TRACKEVENTRANGEOFINTEREST']._serialized_end=123 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/screenshot_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/screenshot_pb2.py new file mode 100644 index 0000000..a6a3fc6 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/screenshot_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/screenshot.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/screenshot.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2protos/perfetto/trace/track_event/screenshot.proto\x12\x0fperfetto.protos\"\x1f\n\nScreenshot\x12\x11\n\tjpg_image\x18\x01 \x01(\x0c') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.screenshot_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SCREENSHOT']._serialized_start=71 + _globals['_SCREENSHOT']._serialized_end=102 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/source_location_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/source_location_pb2.py new file mode 100644 index 0000000..58f090e --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/source_location_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/source_location.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/source_location.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7protos/perfetto/trace/track_event/source_location.proto\x12\x0fperfetto.protos\"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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.source_location_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_UNSYMBOLIZEDSOURCELOCATION']._serialized_start=76 + _globals['_UNSYMBOLIZEDSOURCELOCATION']._serialized_end=153 + _globals['_SOURCELOCATION']._serialized_start=155 + _globals['_SOURCELOCATION']._serialized_end=247 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/task_execution_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/task_execution_pb2.py new file mode 100644 index 0000000..6a455bc --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/task_execution_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/task_execution.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/task_execution.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6protos/perfetto/trace/track_event/task_execution.proto\x12\x0fperfetto.protos\"(\n\rTaskExecution\x12\x17\n\x0fposted_from_iid\x18\x01 \x01(\x04') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.task_execution_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TASKEXECUTION']._serialized_start=75 + _globals['_TASKEXECUTION']._serialized_end=115 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/thread_descriptor_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/thread_descriptor_pb2.py new file mode 100644 index 0000000..579c933 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/thread_descriptor_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/thread_descriptor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/thread_descriptor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/trace/track_event/thread_descriptor.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.thread_descriptor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_THREADDESCRIPTOR']._serialized_start=79 + _globals['_THREADDESCRIPTOR']._serialized_end=835 + _globals['_THREADDESCRIPTOR_CHROMETHREADTYPE']._serialized_start=364 + _globals['_THREADDESCRIPTOR_CHROMETHREADTYPE']._serialized_end=835 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/track_descriptor_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/track_descriptor_pb2.py new file mode 100644 index 0000000..881d9ed --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/track_descriptor_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/track_descriptor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/track_descriptor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.track_event import chrome_process_descriptor_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__process__descriptor__pb2 +from protos.perfetto.trace.track_event import chrome_thread_descriptor_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__thread__descriptor__pb2 +from protos.perfetto.trace.track_event import process_descriptor_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_process__descriptor__pb2 +from protos.perfetto.trace.track_event import thread_descriptor_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_thread__descriptor__pb2 +from protos.perfetto.trace.track_event import counter_descriptor_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_counter__descriptor__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8protos/perfetto/trace/track_event/track_descriptor.proto\x12\x0fperfetto.protos\x1a\x41protos/perfetto/trace/track_event/chrome_process_descriptor.proto\x1a@protos/perfetto/trace/track_event/chrome_thread_descriptor.proto\x1a:protos/perfetto/trace/track_event/process_descriptor.proto\x1a\x39protos/perfetto/trace/track_event/thread_descriptor.proto\x1a:protos/perfetto/trace/track_event/counter_descriptor.proto\"\xc1\x03\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\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\x42\x18\n\x16static_or_dynamic_name') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.track_descriptor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACKDESCRIPTOR']._serialized_start=390 + _globals['_TRACKDESCRIPTOR']._serialized_end=839 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/track_event/track_event_pb2.py b/lglpy/timeline/protos/perfetto/trace/track_event/track_event_pb2.py new file mode 100644 index 0000000..4709cbb --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/track_event/track_event_pb2.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/track_event/track_event.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/track_event/track_event.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.trace.track_event import debug_annotation_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_debug__annotation__pb2 +from protos.perfetto.trace.track_event import log_message_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_log__message__pb2 +from protos.perfetto.trace.track_event import task_execution_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_task__execution__pb2 +from protos.perfetto.trace.track_event import chrome_active_processes_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__active__processes__pb2 +from protos.perfetto.trace.track_event import chrome_application_state_info_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__application__state__info__pb2 +from protos.perfetto.trace.track_event import chrome_compositor_scheduler_state_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__compositor__scheduler__state__pb2 +from protos.perfetto.trace.track_event import chrome_content_settings_event_info_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__content__settings__event__info__pb2 +from protos.perfetto.trace.track_event import chrome_frame_reporter_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__frame__reporter__pb2 +from protos.perfetto.trace.track_event import chrome_histogram_sample_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__histogram__sample__pb2 +from protos.perfetto.trace.track_event import chrome_keyed_service_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__keyed__service__pb2 +from protos.perfetto.trace.track_event import chrome_latency_info_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__latency__info__pb2 +from protos.perfetto.trace.track_event import chrome_legacy_ipc_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__legacy__ipc__pb2 +from protos.perfetto.trace.track_event import chrome_message_pump_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__message__pump__pb2 +from protos.perfetto.trace.track_event import chrome_mojo_event_info_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__mojo__event__info__pb2 +from protos.perfetto.trace.track_event import chrome_renderer_scheduler_state_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__renderer__scheduler__state__pb2 +from protos.perfetto.trace.track_event import chrome_user_event_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__user__event__pb2 +from protos.perfetto.trace.track_event import chrome_window_handle_event_info_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_chrome__window__handle__event__info__pb2 +from protos.perfetto.trace.track_event import screenshot_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_screenshot__pb2 +from protos.perfetto.trace.track_event import source_location_pb2 as protos_dot_perfetto_dot_trace_dot_track__event_dot_source__location__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/trace/track_event/track_event.proto\x12\x0fperfetto.protos\x1a\x38protos/perfetto/trace/track_event/debug_annotation.proto\x1a\x33protos/perfetto/trace/track_event/log_message.proto\x1a\x36protos/perfetto/trace/track_event/task_execution.proto\x1a?protos/perfetto/trace/track_event/chrome_active_processes.proto\x1a\x45protos/perfetto/trace/track_event/chrome_application_state_info.proto\x1aIprotos/perfetto/trace/track_event/chrome_compositor_scheduler_state.proto\x1aJprotos/perfetto/trace/track_event/chrome_content_settings_event_info.proto\x1a=protos/perfetto/trace/track_event/chrome_frame_reporter.proto\x1a?protos/perfetto/trace/track_event/chrome_histogram_sample.proto\x1aprotos/perfetto/trace/track_event/chrome_mojo_event_info.proto\x1aGprotos/perfetto/trace/track_event/chrome_renderer_scheduler_state.proto\x1a\x39protos/perfetto/trace/track_event/chrome_user_event.proto\x1aGprotos/perfetto/trace/track_event/chrome_window_handle_event_info.proto\x1a\x32protos/perfetto/trace/track_event/screenshot.proto\x1a\x37protos/perfetto/trace/track_event/source_location.proto\"\xe9\x17\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;\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\x12\x43\n\x15\x63hrome_frame_reporter\x18 \x01(\x0b\x32$.perfetto.protos.ChromeFrameReporter\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\x02\x12\x1d\n\x13source_location_iid\x18\" \x01(\x04H\x02\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\x03\x12\x1f\n\x15timestamp_absolute_us\x18\x10 \x01(\x03H\x03\x12\x1e\n\x14thread_time_delta_us\x18\x02 \x01(\x03H\x04\x12!\n\x17thread_time_absolute_us\x18\x11 \x01(\x03H\x04\x12(\n\x1ethread_instruction_count_delta\x18\x08 \x01(\x03H\x05\x12+\n!thread_instruction_count_absolute\x18\x14 \x01(\x03H\x05\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\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.track_event.track_event_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRACKEVENT'].fields_by_name['flow_ids_old']._loaded_options = None + _globals['_TRACKEVENT'].fields_by_name['flow_ids_old']._serialized_options = b'\030\001' + _globals['_TRACKEVENT'].fields_by_name['terminating_flow_ids_old']._loaded_options = None + _globals['_TRACKEVENT'].fields_by_name['terminating_flow_ids_old']._serialized_options = b'\030\001' + _globals['_TRACKEVENT']._serialized_start=1276 + _globals['_TRACKEVENT']._serialized_end=4325 + _globals['_TRACKEVENT_LEGACYEVENT']._serialized_start=3371 + _globals['_TRACKEVENT_LEGACYEVENT']._serialized_end=4053 + _globals['_TRACKEVENT_LEGACYEVENT_FLOWDIRECTION']._serialized_start=3862 + _globals['_TRACKEVENT_LEGACYEVENT_FLOWDIRECTION']._serialized_end=3942 + _globals['_TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE']._serialized_start=3944 + _globals['_TRACKEVENT_LEGACYEVENT_INSTANTEVENTSCOPE']._serialized_end=4041 + _globals['_TRACKEVENT_TYPE']._serialized_start=4055 + _globals['_TRACKEVENT_TYPE']._serialized_end=4161 + _globals['_TRACKEVENTDEFAULTS']._serialized_start=4327 + _globals['_TRACKEVENTDEFAULTS']._serialized_end=4444 + _globals['_EVENTCATEGORY']._serialized_start=4446 + _globals['_EVENTCATEGORY']._serialized_end=4488 + _globals['_EVENTNAME']._serialized_start=4490 + _globals['_EVENTNAME']._serialized_end=4528 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/translation/__init__.py b/lglpy/timeline/protos/perfetto/trace/translation/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace/translation/translation_table_pb2.py b/lglpy/timeline/protos/perfetto/trace/translation/translation_table_pb2.py new file mode 100644 index 0000000..431eb48 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/translation/translation_table_pb2.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/translation/translation_table.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/translation/translation_table.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9protos/perfetto/trace/translation/translation_table.proto\x12\x0fperfetto.protos\"\xa7\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\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.translation.translation_table_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY']._loaded_options = None + _globals['_CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY']._serialized_options = b'8\001' + _globals['_CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY']._loaded_options = None + _globals['_CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY']._serialized_options = b'8\001' + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY']._loaded_options = None + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY']._serialized_options = b'8\001' + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY']._loaded_options = None + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY']._serialized_options = b'8\001' + _globals['_SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._loaded_options = None + _globals['_SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._serialized_options = b'8\001' + _globals['_PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._loaded_options = None + _globals['_PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._serialized_options = b'8\001' + _globals['_TRANSLATIONTABLE']._serialized_start=79 + _globals['_TRANSLATIONTABLE']._serialized_end=502 + _globals['_CHROMEHISTORGRAMTRANSLATIONTABLE']._serialized_start=505 + _globals['_CHROMEHISTORGRAMTRANSLATIONTABLE']._serialized_end=679 + _globals['_CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY']._serialized_start=630 + _globals['_CHROMEHISTORGRAMTRANSLATIONTABLE_HASHTONAMEENTRY']._serialized_end=679 + _globals['_CHROMEUSEREVENTTRANSLATIONTABLE']._serialized_start=682 + _globals['_CHROMEUSEREVENTTRANSLATIONTABLE']._serialized_end=873 + _globals['_CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY']._serialized_start=818 + _globals['_CHROMEUSEREVENTTRANSLATIONTABLE_ACTIONHASHTONAMEENTRY']._serialized_end=873 + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE']._serialized_start=876 + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE']._serialized_end=1231 + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY']._serialized_start=1123 + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_SITEHASHTONAMEENTRY']._serialized_end=1176 + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY']._serialized_start=1178 + _globals['_CHROMEPERFORMANCEMARKTRANSLATIONTABLE_MARKHASHTONAMEENTRY']._serialized_end=1231 + _globals['_SLICENAMETRANSLATIONTABLE']._serialized_start=1234 + _globals['_SLICENAMETRANSLATIONTABLE']._serialized_end=1428 + _globals['_SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._serialized_start=1368 + _globals['_SLICENAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._serialized_end=1428 + _globals['_PROCESSTRACKNAMETRANSLATIONTABLE']._serialized_start=1431 + _globals['_PROCESSTRACKNAMETRANSLATIONTABLE']._serialized_end=1639 + _globals['_PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._serialized_start=1368 + _globals['_PROCESSTRACKNAMETRANSLATIONTABLE_RAWTODEOBFUSCATEDNAMEENTRY']._serialized_end=1428 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/trigger_pb2.py b/lglpy/timeline/protos/perfetto/trace/trigger_pb2.py new file mode 100644 index 0000000..1cd5797 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/trigger_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/trigger.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/trigger.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#protos/perfetto/trace/trigger.proto\x12\x0fperfetto.protos\"T\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.trigger_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_TRIGGER']._serialized_start=56 + _globals['_TRIGGER']._serialized_end=140 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace/ui_state_pb2.py b/lglpy/timeline/protos/perfetto/trace/ui_state_pb2.py new file mode 100644 index 0000000..1447159 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace/ui_state_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace/ui_state.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace/ui_state.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$protos/perfetto/trace/ui_state.proto\x12\x0fperfetto.protos\"\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') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace.ui_state_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_UISTATE']._serialized_start=58 + _globals['_UISTATE']._serialized_end=255 + _globals['_UISTATE_HIGHLIGHTPROCESS']._serialized_start=191 + _globals['_UISTATE_HIGHLIGHTPROCESS']._serialized_end=255 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace_processor/__init__.py b/lglpy/timeline/protos/perfetto/trace_processor/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lglpy/timeline/protos/perfetto/trace_processor/metatrace_categories_pb2.py b/lglpy/timeline/protos/perfetto/trace_processor/metatrace_categories_pb2.py new file mode 100644 index 0000000..2d49086 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace_processor/metatrace_categories_pb2.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace_processor/metatrace_categories.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace_processor/metatrace_categories.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n:protos/perfetto/trace_processor/metatrace_categories.proto\x12\x0fperfetto.protos*}\n\x13MetatraceCategories\x12\x12\n\x0eQUERY_TIMELINE\x10\x01\x12\x12\n\x0eQUERY_DETAILED\x10\x02\x12\x11\n\rFUNCTION_CALL\x10\x04\x12\x06\n\x02\x44\x42\x10\x08\x12\x10\n\x0c\x41PI_TIMELINE\x10\x10\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03\x41LL\x10\x1f') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace_processor.metatrace_categories_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_METATRACECATEGORIES']._serialized_start=79 + _globals['_METATRACECATEGORIES']._serialized_end=204 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace_processor/metrics_impl_pb2.py b/lglpy/timeline/protos/perfetto/trace_processor/metrics_impl_pb2.py new file mode 100644 index 0000000..8e467f1 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace_processor/metrics_impl_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace_processor/metrics_impl.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace_processor/metrics_impl.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2protos/perfetto/trace_processor/metrics_impl.proto\x12\x0fperfetto.protos\"\xa7\x01\n\x12ProtoBuilderResult\x12\x13\n\x0bis_repeated\x18\x01 \x01(\x08\x12\x36\n\x06single\x18\x02 \x01(\x0b\x32$.perfetto.protos.SingleBuilderResultH\x00\x12:\n\x08repeated\x18\x03 \x01(\x0b\x32&.perfetto.protos.RepeatedBuilderResultH\x00\x42\x08\n\x06result\"v\n\x15RepeatedBuilderResult\x12\x16\n\nint_values\x18\x01 \x03(\x10\x42\x02\x10\x01\x12\x19\n\rdouble_values\x18\x02 \x03(\x01\x42\x02\x10\x01\x12\x15\n\rstring_values\x18\x03 \x03(\t\x12\x13\n\x0b\x62yte_values\x18\x04 \x03(\x0c\"H\n\x13SingleBuilderResult\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x11\n\ttype_name\x18\x02 \x01(\t\x12\x10\n\x08protobuf\x18\x03 \x01(\x0c') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace_processor.metrics_impl_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_REPEATEDBUILDERRESULT'].fields_by_name['int_values']._loaded_options = None + _globals['_REPEATEDBUILDERRESULT'].fields_by_name['int_values']._serialized_options = b'\020\001' + _globals['_REPEATEDBUILDERRESULT'].fields_by_name['double_values']._loaded_options = None + _globals['_REPEATEDBUILDERRESULT'].fields_by_name['double_values']._serialized_options = b'\020\001' + _globals['_PROTOBUILDERRESULT']._serialized_start=72 + _globals['_PROTOBUILDERRESULT']._serialized_end=239 + _globals['_REPEATEDBUILDERRESULT']._serialized_start=241 + _globals['_REPEATEDBUILDERRESULT']._serialized_end=359 + _globals['_SINGLEBUILDERRESULT']._serialized_start=361 + _globals['_SINGLEBUILDERRESULT']._serialized_end=433 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace_processor/serialization_pb2.py b/lglpy/timeline/protos/perfetto/trace_processor/serialization_pb2.py new file mode 100644 index 0000000..f214ed9 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace_processor/serialization_pb2.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace_processor/serialization.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace_processor/serialization.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/trace_processor/serialization.proto\x12\x0fperfetto.protos\"[\n\x18SerializedTraceProcessor\x12?\n\x06packet\x18\x01 \x03(\x0b\x32/.perfetto.protos.SerializedTraceProcessorPacket\"_\n\x1eSerializedTraceProcessorPacket\x12\x33\n\x06\x63olumn\x18\x01 \x01(\x0b\x32!.perfetto.protos.SerializedColumnH\x00\x42\x08\n\x06packet\"\x93\r\n\x10SerializedColumn\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x13\n\x0b\x63olumn_name\x18\x02 \x01(\t\x12:\n\x07storage\x18\x03 \x01(\x0b\x32).perfetto.protos.SerializedColumn.Storage\x1a\x38\n\tBitVector\x12\r\n\x05words\x18\x01 \x01(\x0c\x12\x0e\n\x06\x63ounts\x18\x02 \x01(\x0c\x12\x0c\n\x04size\x18\x03 \x01(\r\x1a\xdf\x0b\n\x07Storage\x12O\n\rdummy_storage\x18\x01 \x01(\x0b\x32\x36.perfetto.protos.SerializedColumn.Storage.DummyStorageH\x00\x12I\n\nid_storage\x18\x02 \x01(\x0b\x32\x33.perfetto.protos.SerializedColumn.Storage.IdStorageH\x00\x12S\n\x0fnumeric_storage\x18\x03 \x01(\x0b\x32\x38.perfetto.protos.SerializedColumn.Storage.NumericStorageH\x00\x12P\n\x0eset_id_storage\x18\x04 \x01(\x0b\x32\x36.perfetto.protos.SerializedColumn.Storage.SetIdStorageH\x00\x12Q\n\x0estring_storage\x18\x05 \x01(\x0b\x32\x37.perfetto.protos.SerializedColumn.Storage.StringStorageH\x00\x12M\n\x0cnull_overlay\x18\x06 \x01(\x0b\x32\x35.perfetto.protos.SerializedColumn.Storage.NullOverlayH\x00\x12[\n\x13\x61rrangement_overlay\x18\x07 \x01(\x0b\x32<.perfetto.protos.SerializedColumn.Storage.ArrangementOverlayH\x00\x12U\n\x10selector_overlay\x18\x08 \x01(\x0b\x32\x39.perfetto.protos.SerializedColumn.Storage.SelectorOverlayH\x00\x12X\n\x12\x64\x65nse_null_overlay\x18\t \x01(\x0b\x32:.perfetto.protos.SerializedColumn.Storage.DenseNullOverlayH\x00\x1a\x0e\n\x0c\x44ummyStorage\x1a\x19\n\tIdStorage\x12\x0c\n\x04size\x18\x01 \x01(\x04\x1aH\n\x0eNumericStorage\x12\x0e\n\x06values\x18\x01 \x01(\x0c\x12\x11\n\tis_sorted\x18\x02 \x01(\x08\x12\x13\n\x0b\x63olumn_type\x18\x03 \x01(\r\x1a\x1e\n\x0cSetIdStorage\x12\x0e\n\x06values\x18\x01 \x01(\x0c\x1a\x32\n\rStringStorage\x12\x0e\n\x06values\x18\x01 \x01(\x0c\x12\x11\n\tis_sorted\x18\x02 \x01(\x08\x1a\x8a\x01\n\x0bNullOverlay\x12?\n\nbit_vector\x18\x01 \x01(\x0b\x32+.perfetto.protos.SerializedColumn.BitVector\x12:\n\x07storage\x18\x02 \x01(\x0b\x32).perfetto.protos.SerializedColumn.Storage\x1a`\n\x12\x41rrangementOverlay\x12\x0e\n\x06values\x18\x01 \x01(\x0c\x12:\n\x07storage\x18\x02 \x01(\x0b\x32).perfetto.protos.SerializedColumn.Storage\x1a\x8e\x01\n\x0fSelectorOverlay\x12?\n\nbit_vector\x18\x01 \x01(\x0b\x32+.perfetto.protos.SerializedColumn.BitVector\x12:\n\x07storage\x18\x02 \x01(\x0b\x32).perfetto.protos.SerializedColumn.Storage\x1a\x8f\x01\n\x10\x44\x65nseNullOverlay\x12?\n\nbit_vector\x18\x01 \x01(\x0b\x32+.perfetto.protos.SerializedColumn.BitVector\x12:\n\x07storage\x18\x02 \x01(\x0b\x32).perfetto.protos.SerializedColumn.StorageB\x06\n\x04\x64\x61ta') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace_processor.serialization_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_SERIALIZEDTRACEPROCESSOR']._serialized_start=72 + _globals['_SERIALIZEDTRACEPROCESSOR']._serialized_end=163 + _globals['_SERIALIZEDTRACEPROCESSORPACKET']._serialized_start=165 + _globals['_SERIALIZEDTRACEPROCESSORPACKET']._serialized_end=260 + _globals['_SERIALIZEDCOLUMN']._serialized_start=263 + _globals['_SERIALIZEDCOLUMN']._serialized_end=1946 + _globals['_SERIALIZEDCOLUMN_BITVECTOR']._serialized_start=384 + _globals['_SERIALIZEDCOLUMN_BITVECTOR']._serialized_end=440 + _globals['_SERIALIZEDCOLUMN_STORAGE']._serialized_start=443 + _globals['_SERIALIZEDCOLUMN_STORAGE']._serialized_end=1946 + _globals['_SERIALIZEDCOLUMN_STORAGE_DUMMYSTORAGE']._serialized_start=1209 + _globals['_SERIALIZEDCOLUMN_STORAGE_DUMMYSTORAGE']._serialized_end=1223 + _globals['_SERIALIZEDCOLUMN_STORAGE_IDSTORAGE']._serialized_start=1225 + _globals['_SERIALIZEDCOLUMN_STORAGE_IDSTORAGE']._serialized_end=1250 + _globals['_SERIALIZEDCOLUMN_STORAGE_NUMERICSTORAGE']._serialized_start=1252 + _globals['_SERIALIZEDCOLUMN_STORAGE_NUMERICSTORAGE']._serialized_end=1324 + _globals['_SERIALIZEDCOLUMN_STORAGE_SETIDSTORAGE']._serialized_start=1326 + _globals['_SERIALIZEDCOLUMN_STORAGE_SETIDSTORAGE']._serialized_end=1356 + _globals['_SERIALIZEDCOLUMN_STORAGE_STRINGSTORAGE']._serialized_start=1358 + _globals['_SERIALIZEDCOLUMN_STORAGE_STRINGSTORAGE']._serialized_end=1408 + _globals['_SERIALIZEDCOLUMN_STORAGE_NULLOVERLAY']._serialized_start=1411 + _globals['_SERIALIZEDCOLUMN_STORAGE_NULLOVERLAY']._serialized_end=1549 + _globals['_SERIALIZEDCOLUMN_STORAGE_ARRANGEMENTOVERLAY']._serialized_start=1551 + _globals['_SERIALIZEDCOLUMN_STORAGE_ARRANGEMENTOVERLAY']._serialized_end=1647 + _globals['_SERIALIZEDCOLUMN_STORAGE_SELECTOROVERLAY']._serialized_start=1650 + _globals['_SERIALIZEDCOLUMN_STORAGE_SELECTOROVERLAY']._serialized_end=1792 + _globals['_SERIALIZEDCOLUMN_STORAGE_DENSENULLOVERLAY']._serialized_start=1795 + _globals['_SERIALIZEDCOLUMN_STORAGE_DENSENULLOVERLAY']._serialized_end=1938 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace_processor/stack_pb2.py b/lglpy/timeline/protos/perfetto/trace_processor/stack_pb2.py new file mode 100644 index 0000000..47ac9a4 --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace_processor/stack_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace_processor/stack.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace_processor/stack.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+protos/perfetto/trace_processor/stack.proto\x12\x0fperfetto.protos\"\xa4\x01\n\x05Stack\x12-\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x1c.perfetto.protos.Stack.Entry\x1al\n\x05\x45ntry\x12\x0e\n\x04name\x18\x01 \x01(\tH\x00\x12\x15\n\x0b\x63\x61llsite_id\x18\x02 \x01(\rH\x00\x12\x1f\n\x15\x61nnotated_callsite_id\x18\x03 \x01(\rH\x00\x12\x12\n\x08\x66rame_id\x18\x04 \x01(\rH\x00\x42\x07\n\x05\x65ntry') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace_processor.stack_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_STACK']._serialized_start=65 + _globals['_STACK']._serialized_end=229 + _globals['_STACK_ENTRY']._serialized_start=121 + _globals['_STACK_ENTRY']._serialized_end=229 +# @@protoc_insertion_point(module_scope) diff --git a/lglpy/timeline/protos/perfetto/trace_processor/trace_processor_pb2.py b/lglpy/timeline/protos/perfetto/trace_processor/trace_processor_pb2.py new file mode 100644 index 0000000..d6506fc --- /dev/null +++ b/lglpy/timeline/protos/perfetto/trace_processor/trace_processor_pb2.py @@ -0,0 +1,90 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: protos/perfetto/trace_processor/trace_processor.proto +# Protobuf Python Version: 5.27.3 +'''Generated protocol buffer code.''' +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 3, + '', + 'protos/perfetto/trace_processor/trace_processor.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from protos.perfetto.common import descriptor_pb2 as protos_dot_perfetto_dot_common_dot_descriptor__pb2 +from protos.perfetto.trace_processor import metatrace_categories_pb2 as protos_dot_perfetto_dot_trace__processor_dot_metatrace__categories__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5protos/perfetto/trace_processor/trace_processor.proto\x12\x0fperfetto.protos\x1a\'protos/perfetto/common/descriptor.proto\x1a:protos/perfetto/trace_processor/metatrace_categories.proto\"J\n\x17TraceProcessorRpcStream\x12/\n\x03msg\x18\x01 \x03(\x0b\x32\".perfetto.protos.TraceProcessorRpc\"\xfb\x0b\n\x11TraceProcessorRpc\x12\x0b\n\x03seq\x18\x01 \x01(\x03\x12\x13\n\x0b\x66\x61tal_error\x18\x05 \x01(\t\x12J\n\x07request\x18\x02 \x01(\x0e\x32\x37.perfetto.protos.TraceProcessorRpc.TraceProcessorMethodH\x00\x12K\n\x08response\x18\x03 \x01(\x0e\x32\x37.perfetto.protos.TraceProcessorRpc.TraceProcessorMethodH\x00\x12R\n\x0finvalid_request\x18\x04 \x01(\x0e\x32\x37.perfetto.protos.TraceProcessorRpc.TraceProcessorMethodH\x00\x12\x1b\n\x11\x61ppend_trace_data\x18\x65 \x01(\x0cH\x01\x12\x30\n\nquery_args\x18g \x01(\x0b\x32\x1a.perfetto.protos.QueryArgsH\x01\x12\x41\n\x13\x63ompute_metric_args\x18i \x01(\x0b\x32\".perfetto.protos.ComputeMetricArgsH\x01\x12\x45\n\x15\x65nable_metatrace_args\x18j \x01(\x0b\x32$.perfetto.protos.EnableMetatraceArgsH\x01\x12N\n\x1areset_trace_processor_args\x18k \x01(\x0b\x32(.perfetto.protos.ResetTraceProcessorArgsH\x01\x12J\n\x18register_sql_module_args\x18l \x01(\x0b\x32&.perfetto.protos.RegisterSqlModuleArgsH\x01\x12@\n\rappend_result\x18\xc9\x01 \x01(\x0b\x32&.perfetto.protos.AppendTraceDataResultH\x01\x12\x35\n\x0cquery_result\x18\xcb\x01 \x01(\x0b\x32\x1c.perfetto.protos.QueryResultH\x01\x12>\n\rmetric_result\x18\xcd\x01 \x01(\x0b\x32$.perfetto.protos.ComputeMetricResultH\x01\x12=\n\x12metric_descriptors\x18\xce\x01 \x01(\x0b\x32\x1e.perfetto.protos.DescriptorSetH\x01\x12\x44\n\tmetatrace\x18\xd1\x01 \x01(\x0b\x32..perfetto.protos.DisableAndReadMetatraceResultH\x01\x12\x30\n\x06status\x18\xd2\x01 \x01(\x0b\x32\x1d.perfetto.protos.StatusResultH\x01\x12O\n\x1aregister_sql_module_result\x18\xd3\x01 \x01(\x0b\x32(.perfetto.protos.RegisterSqlModuleResultH\x01\"\x82\x03\n\x14TraceProcessorMethod\x12\x13\n\x0fTPM_UNSPECIFIED\x10\x00\x12\x19\n\x15TPM_APPEND_TRACE_DATA\x10\x01\x12\x1b\n\x17TPM_FINALIZE_TRACE_DATA\x10\x02\x12\x17\n\x13TPM_QUERY_STREAMING\x10\x03\x12\x16\n\x12TPM_COMPUTE_METRIC\x10\x05\x12\x1e\n\x1aTPM_GET_METRIC_DESCRIPTORS\x10\x06\x12\x1e\n\x1aTPM_RESTORE_INITIAL_TABLES\x10\x07\x12\x18\n\x14TPM_ENABLE_METATRACE\x10\x08\x12\"\n\x1eTPM_DISABLE_AND_READ_METATRACE\x10\t\x12\x12\n\x0eTPM_GET_STATUS\x10\n\x12\x1d\n\x19TPM_RESET_TRACE_PROCESSOR\x10\x0b\x12\x1b\n\x17TPM_REGISTER_SQL_MODULE\x10\x0c\"\x04\x08\x04\x10\x04*\x18TPM_QUERY_RAW_DEPRECATEDB\x06\n\x04typeB\x06\n\x04\x61rgsJ\x04\x08h\x10iJ\x06\x08\xcc\x01\x10\xcd\x01\"B\n\x15\x41ppendTraceDataResult\x12\x1a\n\x12total_bytes_parsed\x18\x01 \x01(\x03\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"1\n\tQueryArgs\x12\x11\n\tsql_query\x18\x01 \x01(\t\x12\x0b\n\x03tag\x18\x03 \x01(\tJ\x04\x08\x02\x10\x03\"\x84\x04\n\x0bQueryResult\x12\x14\n\x0c\x63olumn_names\x18\x01 \x03(\t\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\x36\n\x05\x62\x61tch\x18\x03 \x03(\x0b\x32\'.perfetto.protos.QueryResult.CellsBatch\x12\x17\n\x0fstatement_count\x18\x04 \x01(\r\x12#\n\x1bstatement_with_output_count\x18\x05 \x01(\r\x12\x1a\n\x12last_statement_sql\x18\x06 \x01(\t\x1a\xbd\x02\n\nCellsBatch\x12\x43\n\x05\x63\x65lls\x18\x01 \x03(\x0e\x32\x30.perfetto.protos.QueryResult.CellsBatch.CellTypeB\x02\x10\x01\x12\x18\n\x0cvarint_cells\x18\x02 \x03(\x03\x42\x02\x10\x01\x12\x19\n\rfloat64_cells\x18\x03 \x03(\x01\x42\x02\x10\x01\x12\x12\n\nblob_cells\x18\x04 \x03(\x0c\x12\x14\n\x0cstring_cells\x18\x05 \x01(\t\x12\x15\n\ris_last_batch\x18\x06 \x01(\x08\"n\n\x08\x43\x65llType\x12\x10\n\x0c\x43\x45LL_INVALID\x10\x00\x12\r\n\tCELL_NULL\x10\x01\x12\x0f\n\x0b\x43\x45LL_VARINT\x10\x02\x12\x10\n\x0c\x43\x45LL_FLOAT64\x10\x03\x12\x0f\n\x0b\x43\x45LL_STRING\x10\x04\x12\r\n\tCELL_BLOB\x10\x05J\x04\x08\x07\x10\x08\"\x0c\n\nStatusArgs\"t\n\x0cStatusResult\x12\x19\n\x11loaded_trace_name\x18\x01 \x01(\t\x12\x1e\n\x16human_readable_version\x18\x02 \x01(\t\x12\x13\n\x0b\x61pi_version\x18\x03 \x01(\x05\x12\x14\n\x0cversion_code\x18\x04 \x01(\t\"\xa8\x01\n\x11\x43omputeMetricArgs\x12\x14\n\x0cmetric_names\x18\x01 \x03(\t\x12?\n\x06\x66ormat\x18\x02 \x01(\x0e\x32/.perfetto.protos.ComputeMetricArgs.ResultFormat\"<\n\x0cResultFormat\x12\x13\n\x0f\x42INARY_PROTOBUF\x10\x00\x12\r\n\tTEXTPROTO\x10\x01\x12\x08\n\x04JSON\x10\x02\"|\n\x13\x43omputeMetricResult\x12\x11\n\x07metrics\x18\x01 \x01(\x0cH\x00\x12\x1e\n\x14metrics_as_prototext\x18\x03 \x01(\tH\x00\x12\x19\n\x0fmetrics_as_json\x18\x04 \x01(\tH\x00\x12\r\n\x05\x65rror\x18\x02 \x01(\tB\x08\n\x06result\"O\n\x13\x45nableMetatraceArgs\x12\x38\n\ncategories\x18\x01 \x01(\x0e\x32$.perfetto.protos.MetatraceCategories\"\x17\n\x15\x45nableMetatraceResult\"\x1d\n\x1b\x44isableAndReadMetatraceArgs\"A\n\x1d\x44isableAndReadMetatraceResult\x12\x11\n\tmetatrace\x18\x01 \x01(\x0c\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"F\n\rDescriptorSet\x12\x35\n\x0b\x64\x65scriptors\x18\x01 \x03(\x0b\x32 .perfetto.protos.DescriptorProto\"\xc1\x02\n\x17ResetTraceProcessorArgs\x12g\n\x1c\x64rop_track_event_data_before\x18\x01 \x01(\x0e\x32\x41.perfetto.protos.ResetTraceProcessorArgs.DropTrackEventDataBefore\x12\"\n\x1aingest_ftrace_in_raw_table\x18\x02 \x01(\x08\x12#\n\x1b\x61nalyze_trace_proto_content\x18\x03 \x01(\x08\x12(\n ftrace_drop_until_all_cpus_valid\x18\x04 \x01(\x08\"J\n\x18\x44ropTrackEventDataBefore\x12\x0b\n\x07NO_DROP\x10\x00\x12!\n\x1dTRACK_EVENT_RANGE_OF_INTEREST\x10\x01\"\xbb\x01\n\x15RegisterSqlModuleArgs\x12\x1e\n\x16top_level_package_name\x18\x01 \x01(\t\x12>\n\x07modules\x18\x02 \x03(\x0b\x32-.perfetto.protos.RegisterSqlModuleArgs.Module\x12\x1d\n\x15\x61llow_module_override\x18\x03 \x01(\x08\x1a#\n\x06Module\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03sql\x18\x02 \x01(\t\"(\n\x17RegisterSqlModuleResult\x12\r\n\x05\x65rror\x18\x01 \x01(\t*C\n\x18TraceProcessorApiVersion\x12\'\n#TRACE_PROCESSOR_CURRENT_API_VERSION\x10\r') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.trace_processor.trace_processor_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + DESCRIPTOR._loaded_options = None + _globals['_QUERYRESULT_CELLSBATCH'].fields_by_name['cells']._loaded_options = None + _globals['_QUERYRESULT_CELLSBATCH'].fields_by_name['cells']._serialized_options = b'\020\001' + _globals['_QUERYRESULT_CELLSBATCH'].fields_by_name['varint_cells']._loaded_options = None + _globals['_QUERYRESULT_CELLSBATCH'].fields_by_name['varint_cells']._serialized_options = b'\020\001' + _globals['_QUERYRESULT_CELLSBATCH'].fields_by_name['float64_cells']._loaded_options = None + _globals['_QUERYRESULT_CELLSBATCH'].fields_by_name['float64_cells']._serialized_options = b'\020\001' + _globals['_TRACEPROCESSORAPIVERSION']._serialized_start=3684 + _globals['_TRACEPROCESSORAPIVERSION']._serialized_end=3751 + _globals['_TRACEPROCESSORRPCSTREAM']._serialized_start=175 + _globals['_TRACEPROCESSORRPCSTREAM']._serialized_end=249 + _globals['_TRACEPROCESSORRPC']._serialized_start=252 + _globals['_TRACEPROCESSORRPC']._serialized_end=1783 + _globals['_TRACEPROCESSORRPC_TRACEPROCESSORMETHOD']._serialized_start=1367 + _globals['_TRACEPROCESSORRPC_TRACEPROCESSORMETHOD']._serialized_end=1753 + _globals['_APPENDTRACEDATARESULT']._serialized_start=1785 + _globals['_APPENDTRACEDATARESULT']._serialized_end=1851 + _globals['_QUERYARGS']._serialized_start=1853 + _globals['_QUERYARGS']._serialized_end=1902 + _globals['_QUERYRESULT']._serialized_start=1905 + _globals['_QUERYRESULT']._serialized_end=2421 + _globals['_QUERYRESULT_CELLSBATCH']._serialized_start=2104 + _globals['_QUERYRESULT_CELLSBATCH']._serialized_end=2421 + _globals['_QUERYRESULT_CELLSBATCH_CELLTYPE']._serialized_start=2305 + _globals['_QUERYRESULT_CELLSBATCH_CELLTYPE']._serialized_end=2415 + _globals['_STATUSARGS']._serialized_start=2423 + _globals['_STATUSARGS']._serialized_end=2435 + _globals['_STATUSRESULT']._serialized_start=2437 + _globals['_STATUSRESULT']._serialized_end=2553 + _globals['_COMPUTEMETRICARGS']._serialized_start=2556 + _globals['_COMPUTEMETRICARGS']._serialized_end=2724 + _globals['_COMPUTEMETRICARGS_RESULTFORMAT']._serialized_start=2664 + _globals['_COMPUTEMETRICARGS_RESULTFORMAT']._serialized_end=2724 + _globals['_COMPUTEMETRICRESULT']._serialized_start=2726 + _globals['_COMPUTEMETRICRESULT']._serialized_end=2850 + _globals['_ENABLEMETATRACEARGS']._serialized_start=2852 + _globals['_ENABLEMETATRACEARGS']._serialized_end=2931 + _globals['_ENABLEMETATRACERESULT']._serialized_start=2933 + _globals['_ENABLEMETATRACERESULT']._serialized_end=2956 + _globals['_DISABLEANDREADMETATRACEARGS']._serialized_start=2958 + _globals['_DISABLEANDREADMETATRACEARGS']._serialized_end=2987 + _globals['_DISABLEANDREADMETATRACERESULT']._serialized_start=2989 + _globals['_DISABLEANDREADMETATRACERESULT']._serialized_end=3054 + _globals['_DESCRIPTORSET']._serialized_start=3056 + _globals['_DESCRIPTORSET']._serialized_end=3126 + _globals['_RESETTRACEPROCESSORARGS']._serialized_start=3129 + _globals['_RESETTRACEPROCESSORARGS']._serialized_end=3450 + _globals['_RESETTRACEPROCESSORARGS_DROPTRACKEVENTDATABEFORE']._serialized_start=3376 + _globals['_RESETTRACEPROCESSORARGS_DROPTRACKEVENTDATABEFORE']._serialized_end=3450 + _globals['_REGISTERSQLMODULEARGS']._serialized_start=3453 + _globals['_REGISTERSQLMODULEARGS']._serialized_end=3640 + _globals['_REGISTERSQLMODULEARGS_MODULE']._serialized_start=3605 + _globals['_REGISTERSQLMODULEARGS_MODULE']._serialized_end=3640 + _globals['_REGISTERSQLMODULERESULT']._serialized_start=3642 + _globals['_REGISTERSQLMODULERESULT']._serialized_end=3682 +# @@protoc_insertion_point(module_scope) diff --git a/pylint.sh b/pylint.sh index 14fee35..eff30b3 100755 --- a/pylint.sh +++ b/pylint.sh @@ -25,7 +25,7 @@ printf "= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = \n" printf "Running pycodestyle\n" printf "= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = \n" printf "\n" -python3 -m pycodestyle ./generator ./lglpy *.py +python3 -m pycodestyle --config .pycodestyle.ini ./lglpy *.py if [ $? -eq 0 ]; then echo "Success: no issues found" fi diff --git a/source_common/trackers/layer_command_stream.cpp b/source_common/trackers/layer_command_stream.cpp index 3a54bc0..48a62ae 100644 --- a/source_common/trackers/layer_command_stream.cpp +++ b/source_common/trackers/layer_command_stream.cpp @@ -272,7 +272,7 @@ std::string LCSImageTransfer::getMetadata( { "type", "imagetransfer" }, { "tid", tagID }, { "subtype", transferType }, - { "pixels", pixelCount } + { "pixelCount", pixelCount } }; if (debugLabel && debugLabel->size()) @@ -307,7 +307,7 @@ std::string LCSBufferTransfer::getMetadata( { "type", "buffertransfer" }, { "tid", tagID }, { "subtype", transferType }, - { "bytes", byteCount } + { "byteCount", byteCount } }; if (debugLabel && debugLabel->size())