xref: /aosp_15_r20/external/perfetto/python/BUILD.gn (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1# Copyright (C) 2022 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
15import("../gn/perfetto_python.gni")
16
17perfetto_py_library("trace_processor_table_generator") {
18  sources = [
19    "generators/trace_processor_table/public.py",
20    "generators/trace_processor_table/serialize.py",
21    "generators/trace_processor_table/util.py",
22  ]
23}
24
25perfetto_py_library("trace_processor_stdlib_docs") {
26  sources = [
27    "generators/sql_processing/docs_extractor.py",
28    "generators/sql_processing/docs_parse.py",
29    "generators/sql_processing/utils.py",
30  ]
31}
32
33perfetto_py_library("trace_processor_diff_tests") {
34  sources = [
35    "generators/diff_tests/runner.py",
36    "generators/diff_tests/testing.py",
37    "generators/diff_tests/utils.py",
38  ]
39}
40
41perfetto_py_binary("trace_processor_py_example") {
42  sources = [ "example.py" ]
43  deps = [
44    ":trace_processor_py",
45    "../gn:pandas_py",
46  ]
47  main = "example.py"
48}
49
50perfetto_py_library("common") {
51  sources = [
52    "perfetto/common/exceptions.py",
53    "perfetto/common/query_result_iterator.py",
54  ]
55}
56
57perfetto_py_library("trace_processor_py_no_resolvers") {
58  sources = [
59    "perfetto/trace_processor/__init__.py",
60    "perfetto/trace_processor/api.py",
61    "perfetto/trace_processor/http.py",
62    "perfetto/trace_processor/platform.py",
63    "perfetto/trace_processor/protos.py",
64    "perfetto/trace_processor/shell.py",
65  ]
66  data = [
67    "perfetto/trace_processor/trace_processor.descriptor",
68    "perfetto/trace_processor/metrics.descriptor",
69    "..:trace_processor_shell",
70  ]
71  deps = [
72    ":common",
73    ":trace_uri_resolver",
74    "../gn:pandas_py",
75    "../gn:protobuf_py",
76    "../gn:tp_vendor_py",
77  ]
78}
79
80perfetto_py_library("trace_processor_py") {
81  deps = [
82    ":trace_processor_py_no_resolvers",
83    "../gn:tp_resolvers_py",
84  ]
85}
86
87perfetto_py_library("trace_uri_resolver") {
88  sources = [
89    "perfetto/trace_uri_resolver/__init__.py",
90    "perfetto/trace_uri_resolver/path.py",
91    "perfetto/trace_uri_resolver/registry.py",
92    "perfetto/trace_uri_resolver/resolver.py",
93    "perfetto/trace_uri_resolver/util.py",
94  ]
95}
96
97perfetto_py_library("experimental_slice_breakdown_lib") {
98  sources = [
99    "perfetto/experimental/slice_breakdown/__init__.py",
100    "perfetto/experimental/slice_breakdown/breakdown.py",
101  ]
102  deps = [ ":trace_processor_py" ]
103}
104
105perfetto_py_binary("experimental_slice_breakdown_bin") {
106  sources = [ "tools/slice_breakdown.py" ]
107  main = "tools/slice_breakdown.py"
108  deps = [
109    ":experimental_slice_breakdown_lib",
110    ":trace_processor_py",
111    "../gn:pandas_py",
112  ]
113}
114
115perfetto_py_library("batch_trace_processor") {
116  sources = [
117    "perfetto/batch_trace_processor/__init__.py",
118    "perfetto/batch_trace_processor/api.py",
119    "perfetto/batch_trace_processor/platform.py",
120  ]
121  deps = [
122    ":trace_processor_py",
123    "../gn:pandas_py",
124    "../gn:tp_vendor_py",
125  ]
126}
127
128perfetto_py_library("sql_processing") {
129  sources = [
130    "generators/sql_processing/docs_extractor.py",
131    "generators/sql_processing/docs_parse.py",
132    "generators/sql_processing/utils.py",
133  ]
134}
135