1# Copyright (C) 2023 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14"""Contains tables for relevant for TODO.""" 15 16from python.generators.trace_processor_table.public import Column as C 17from python.generators.trace_processor_table.public import Table 18from python.generators.trace_processor_table.public import TableDoc 19from python.generators.trace_processor_table.public import CppTableId 20from python.generators.trace_processor_table.public import CppUint32 21from python.generators.trace_processor_table.public import CppInt64 22from python.generators.trace_processor_table.public import CppOptional 23 24from src.trace_processor.tables.slice_tables import SLICE_TABLE 25 26FLOW_TABLE = Table( 27 python_module=__file__, 28 class_name='FlowTable', 29 sql_name='flow', 30 columns=[ 31 C('slice_out', CppTableId(SLICE_TABLE)), 32 C('slice_in', CppTableId(SLICE_TABLE)), 33 C('trace_id', CppOptional(CppInt64())), 34 C('arg_set_id', CppUint32()), 35 ], 36 tabledoc=TableDoc( 37 doc='''''', 38 group='Misc', 39 columns={ 40 'slice_out': 41 '''Id of the slice that this flow flows out of.''', 42 'slice_in': 43 '''If of the slice that this flow flows into.''', 44 'arg_set_id': 45 '''''', 46 'trace_id': 47 ('''Ids (raw values passed from the trace) of flows ''' 48 '''originating, passing through, or ending at this event. ''' 49 '''They are global within a trace. NULL if flow was ''' 50 '''"implicitly created", e.g came from Trace Processor ''' 51 '''inferring a link between binder transaction slices.'''), 52 })) 53 54# Keep this list sorted. 55ALL_TABLES = [ 56 FLOW_TABLE, 57] 58